¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?


Subject: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Tengo una duda, cual es la longitud maxima de una cadena de caracteres. ¿que pasa si sobrepaso esta longitud?

Un saludo

Julio

Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Creo que no tienen limite definido, en todos los lugares que mire ponia de "longirud variable" es decir, todo lo que puedas, pero esta claro que llegara a un punto que diga aqui se acaba, pero me da que sera unos millones de caracteres mas tarde xD.

Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
A mi me sonaba que era sobre unos 32.000 caracteres ¿? pero no se porque es esa cantidad o seria de alguna antigua version de Basic

Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
La representación del tipo String no ocupa 4 bytes en memoria (ya que esto no tendría sentido), sino un máximo de 4 bytes por cada carácter (lo que corresponde con UTF8):

http://gambasdoc.org/help/cat/datatypes

Por lo que la cantidad de caracteres es:

2(4 bytes * 8 bits) = 232 = 4294967296

4294967296 es la cantidad de valores que es posible representar con 4 bytes, algo que se cumple para valores numéricos, pero no para caracteres. Así que, más allá de que el espacio de memoria necesario para la representación de cada carácter varíe entre 1 y 4 bytes (ya que gambas usa UTF8), ello no tiene que ver con cual sería la longitud máxima de una cadena de caracteres en gambas.

Aquí hay algo más de información:

http://gambasdoc.org/help/lang/type/string

Pero la ayuda no dice claramente que exista un límite en la cantidad de caracteres que el tipo String puede almacenar, sólo dice que la longitud de la cadena es variable. Entonces, la longitud de una cadena es altamente probable que sólo esté limitada por la cantidad memoria de la pc como mencionaba Emmet en un mensaje anterior.

Perdón por el enredo, la ayuda en línea no es muy clara.

Last edited by fabianfv on Monday, 19 July 2010, 19:43; edited 2 times in total
Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Vaya... menuda explicacion fabianfv, es bueno saberlo xD, supongo que debi de buscar un poco mas xP.

Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Menudo es el enredo que acabo de darme cuenta que hice. Edito el mensaje para introducir las correcciones.

Last edited by fabianfv on Monday, 19 July 2010, 19:44; edited 1 time in total
Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Hola amigos.

El tema de los tipos string es bien interesante. Recuerdo cuando programaba en lenguajes de alto nivel como FORTRAN, COBOL,PASCAL, BASIC, los cualles tenian un rango establecidopra alas variables de cadena (String) de 256 caracteres. claro está, en la mayoría de estos lenguajes, las cadenas solían declararse estáticamente, inclusive en C estándar, pero a la llegada de C++ las cadenas se volvieron dinámicas.
Ya con la implementación de la rama de la informática denominada "Teoría de Autómatas", se estableció el uso de las tan necesarias cadenas nulas o vacías.
En el caso que nos toca debatir acerca de la longitud máxima de una cadena en gambas, se hace necesario establecer que ese comportamiento va a depender del juego de caracteres que se esté aplicando el cual debe conjugarse con el juego de caracteres que está implementado en su Manejador de base de datos.

Tome en cuenta que la máxima longitud para un registro o tupla de datos de una tabla es de 65.535 caracteres o sea 64K (esto es obvio por la localizacion en los bloques de memoria del computador), por su parte, gambas para manejar cadenas implementa una clase (string gb) con métodos ya conocidos (LEN LCASE UCASE MID y muchos mas) que trabajan sobre cadenas o string en Unicode Transformation Format de 8 bits o popularmente llamado UTF8. ya por aqui tienes un camino razonable para entender que máximo de longitud maneja gambas. Claro está, debes tomar en cuenta de que gambas también soporta arreglos por consiguiente, la menor cantidad de elementos de un arreglo o array es de 2 (índices o posiciones quiero decir)asi que si divido 65535 como máximo de longitud UTF8 entre 2 mínimas posiciones de vectores nos dará como resultado 32767 y esta es la longitud máxima de caracteres que soporta un string

¿Quieres probarlo solo crea un nuevo proyecto, inserta 2 cuadros de textos (textbox) y un boton de comandos (Buttom).
posteriormente has doble click sobre el buttom y escribe

PUBLIC SUB Button1_Click()
DIM i AS Integer
FOR i = 1 TO 10000
TextBox1.Text = TextBox1.text & i
NEXT
TextBox2.Text = Len(TextBox1.text)
END


en text1 se concatenaran valores provenientes del ciclo basados en el cambio de la variable i
en text2 se mostrará la longitud de la cadena creada
No importa cuanto aumentes el valor final del ciclo, lo máximo de longitud será de 32767 ( por supuesto y por razones técnicas, el valor limite superior de un integer o entero) claro, es que una cadena es un vector tipo char dimensionado en posiciones enteras..

Espero haber aclarado este punto.

En Hora Buena. Ronny Estredo-Venezuela
http://www.gambasvenezuela.zobyhost.com

Last edited by Ronny on Monday, 23 May 2011, 15:29; edited 3 times in total
Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Hola Nuevamente
Disculpen el error cometido en el comentario anterior.
La cantidad permitida es 32767.. recuerden el valor superior del rango de los enteros. Yo edite el comentario y lo modifique pero no veo la actualizacion

Last edited by Ronny on Monday, 23 May 2011, 15:28; edited 1 time in total
Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Ronny, esta genial tu respuesta

Profile PM  
Subject: Re: ¿cual Es La Longitud Maxima De Una Cadena De Caracteres String?
Gracias Hno Neogranadino (ivanovichenco). Es en verdad un gusto colaborar. El Conocimiento es y debe ser libre.

Last edited by Ronny on Monday, 23 May 2011, 15:28; edited 1 time in total

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.0867s (PHP: -29% SQL: 129%)
SQL queries: 28 - Debug Off - GZIP Enabled