¿Qué caracteres unicode caben en 1, 2, 4 bytes? ¿Alguien puede indicarme que complete la tabla de caracteres?UTF-8 Tamaño de codificación
Respuesta
Los caracteres se codifican según su posición en la gama. En realidad se puede encontrar el algoritmo en la página de Wikipedia para UTF8 - se puede aplicar muy rápidamente Wikipedia UTF8 Encoding
- U + 0000 a U + 007F son (correctamente) codificado con un byte
- U + 0080 a U + 07FF están codificados con 2 bytes
- U + 0800 a U + FFFF están codificados con 3 bytes
- U + 010.000 a U + 10FFFF están codificados con 4 bytes
El artículo de Wikipedia sobre UTF-8 tiene una buena suficiente descripción de la codificación:
- 1 byte = código de puntos 0x000000 a 0x00007F puntos
- 2 bytes = Código de 0x000070 a 0x0007FF puntos
- 3 bytes = Código de 0x000800 a 0x00FFFF
- 4 bytes = puntos de código 0x010000 a 0x10FFFF
Los cuadros se pueden descargar directamente desde unicode.org. Es un conjunto de aproximadamente 150 archivos PDF, porque un solo gráfico sería enorme (tal vez 30 MiB).
También tenga en cuenta que Unicode (en comparación con algo así como ASCII) es mucho más complejo de procesar; hay cosas como texto de derecha a izquierda, marcas de orden de bytes, puntos de código que se pueden combinar ("compuestos") para crear un solo carácter y diferentes formas de representar exactamente la misma cadena (y un proceso para convertir cadenas en una forma canónica adecuada para la comparación), mucho más caracteres de espacio en blanco, etc. Recomiendo descargar toda la especificación Unicode y leer más de eso si planeas hacer más que "no mucho".
UTF-8 se compromete de 1 a un límite de 6 bytes, aunque la cantidad actual de puntos de código se cubre con solo 4 bytes. UTF-8 utiliza el primer byte para determinar cuánto tiempo (en bytes) del personaje es - ver los diferentes enlaces a la página wiki:
un solo byte UTF-8 es efectivamente ASCII - UTF-8 era diseñado para ser compatible con él, por lo que es más frecuente que UTF-16, por ejemplo.
Editar: Al parecer, se acordó puntos de código del UTF-8 no superaría los 21 bits (4 secuencias de bytes) - pero tiene la capacidad técnica para manejar hasta 31 bits (6 bytes UTF-8) .
UTF-8 está limitado a 4 bytes. Los puntos de código Unicode están limitados a U + 1FFFFF (21 bits) y la codificación UTF-8 es canónica (debe elegir el más corto). Por lo tanto, nunca puede terminar con una secuencia UTF-8 de 5 bytes. O decodificaría a un personaje pasado U + 1FFFFF, o no sería canónico. – MSalters
El juego de caracteres actual de UTF-8 solo usa 4 bytes, pero fue diseñado para puntos de código de hasta 31 bits, lo que da como resultado una secuencia de 6 bytes. – Mikaveli
* caracteres de 6 bytes *? [estremecimiento] – Piskvor
- 1. codificación Java UTF8
- 2. knitr y codificación UTF8
- 3. ios Codificación UTF8 de nsstring
- 4. MySQL UTF8 varchar columna tamaño
- 5. Django makemessages errors Desconocido codificación "utf8"
- 6. Descodificación de doble codificación de utf8 en Python
- 7. ¿El nombre de codificación es UTF8 o UTF-8?
- 8. ¿Cómo GetBytes() en C# con codificación UTF8 con BOM?
- 9. La codificación UTF8 no funciona cuando se usa ajax
- 10. WebClient Unicode - ¿Qué UTF8?
- 11. php form submit utf8?
- 12. SQL Server utf8 howto?
- 13. Java juego de caracteres de codificación problema (de UTF8 a CP866)
- 14. UTF8 Problemas de MySQL en Rails: problemas de codificación con utf8_general_ci
- 15. Rieles: problemas de codificación con valores hash serializados a pesar de UTF8
- 16. Conversión de UTF8 a ASCII
- 17. C# UTF8 Lectura/Salida
- 18. Encontrar una API de análisis para URL con codificación parcialmente utf8
- 19. ¿Cómo detectar si tiene que aplicar decodificación u codificación de utf8 en una cadena?
- 20. ¿Hay alguna biblioteca de Lua que convierta una cadena en bytes utilizando la codificación UTF8?
- 21. Ruby: Borrando todos los caracteres Unicode (UTF8/Codificación/Manipulación de cadenas)
- 22. PostgreSQL + PHP + UTF8 = secuencia de bytes no válida para la codificación
- 23. java: cómo convertir un archivo a utf8
- 24. Cómo convertir una cadena a UTF8?
- 25. Propiedad JVM -Dfile.encoding = UTF8 o UTF-8?
- 26. Conversión de codificación Eclipse
- 27. Verificar la cadena utf8 válida en Python
- 28. secuencia de bytes no válida para codificar "UTF8"
- 29. Cadenas y codificación de caracteres en C++
- 30. Procesamiento UTF8 en C
Lea esto primero: http://www.joelonsoftware.com/articles/Unicode.html –
¿Una tabla completa? Eso va a ser ENORME. Vea esto para una versión impresa del plano multilingüe básico (hay 16 más): http://shop.designinmainz.de/en/Poster/decodeunicode-Basic-Multilingual-Plane-BMP-Map Vea DecodeUnicode para un wiki-como representación de caracteres Unicode: http://www.decodeunicode.org/es – Piskvor
También puede leer sobre códigos universales: http://en.wikipedia.org/wiki/Universal_code_%28data_compression%29 – ruslik