La diferencia entre carácter, cadena, codificación de caracteres

Carácter, cadena, codificación de caracteres

concepto

  1. Un carácter es una unidad de información. En una computadora, un carácter chino es un carácter, una letra inglesa es un carácter, un número arábigo es un carácter y un signo de puntuación también es un carácter.
  2. Un juego de caracteres es una colección de caracteres, generalmente en forma de una tabla bidimensional. El contenido y el tamaño de la tabla bidimensional están determinados por el idioma del usuario, ya sea inglés, chino o árabe.
  3. La codificación de caracteres consiste en codificar los caracteres del juego de caracteres en números binarios específicos para su almacenamiento en la computadora. El método de codificación es generalmente un algoritmo para transformar las coordenadas horizontales y verticales de una tabla bidimensional. Generalmente es relativamente simple, simplemente junta las coordenadas horizontal y vertical y listo. Más tarde, con la expansión continua de los conjuntos de caracteres, aparecieron varios algoritmos para ahorrar espacio de almacenamiento.

Los conjuntos de caracteres y los códigos de caracteres generalmente aparecen en pares, como ASCII, IOS-8859-1, GB2312 y GBK, que representan el conjunto de caracteres y el código de caracteres correspondiente, que se denominarán colectivamente código en lo sucesivo.

Cuántos bytes hay en un carácter

  • Codificación GBK, un carácter chino ocupa dos bytes.
  • Codificación UTF-16, los caracteres chinos generalmente ocupan dos bytes, y los caracteres chinos en el área B extendida de CJKV, el área C extendida y el área D extendida ocupan cuatro bytes (el rango Unicode de caracteres generales es U + 0000 a U + FFFF, y estos El rango de la parte extendida es mayor que U + 20000, por lo que se utilizan dos UTF-16).
  • La codificación UTF-8 es una codificación de longitud variable, generalmente los caracteres chinos ocupan tres bytes y los caracteres chinos después del área extendida B ocupan cuatro bytes.

Consejo: después de la versión 5.0 de mysql varchar (20), este 20 representa 20 caracteres. Antes de la versión 5.0 era de 20 bytes

Referencia

https://www.jianshu.com/p/bd7a6c508c33
https://zh.wikipedia.org/wiki/UTF-8
https://www.zhihu.com/question/20451870

Supongo que te gusta

Origin blog.csdn.net/weixin_40413961/article/details/107967681
Recomendado
Clasificación