Sé que esta pregunta es antigua y ya tiene una respuesta aceptada, pero quiero ofrecer algunos ejemplos (con la esperanza de que sea útil para alguien).
Hasta donde yo sé, los caracteres ASCII antiguos tomaban un byte por carácter.
Correcto. En realidad, dado que ASCII es una codificación de 7 bits, admite 128 códigos (95 de los cuales son imprimibles), por lo que solo usa medio byte (si eso tiene sentido).
¿Cuántos bytes requiere un carácter Unicode?
Unicode solo asigna caracteres a puntos de código. No define cómo codificarlos. Un archivo de texto no contiene caracteres Unicode, sino bytes / octetos que pueden representar caracteres Unicode.
Supongo que un carácter Unicode puede contener todos los caracteres posibles de cualquier idioma. ¿Estoy en lo correcto?
No. Pero casi. Entonces básicamente sí. Pero aun así no.
Entonces, ¿cuántos bytes necesita por carácter?
Igual que su segunda pregunta.
¿Y qué significan UTF-7, UTF-6, UTF-16, etc.? ¿Son algunas versiones amables de Unicode?
No, esas son codificaciones. Definen cómo los bytes / octetos deben representar caracteres Unicode.
Un par de ejemplos Si algunos de ellos no se pueden mostrar en su navegador (probablemente porque la fuente no los admite), vaya a http://codepoints.net/U+1F6AA
(reemplazar 1F6AA
con el punto de código en hexadecimal) para ver una imagen.
- U + 0061 LETRA LATINA PEQUEÑA A:
a
- Nº: 97
- UTF-8: 61
- UTF-16: 00 61
- U + 00A9 SIGNO DE DERECHOS DE AUTOR:
©
- Nº: 169
- UTF-8: C2 A9
- UTF-16: 00 A9
- U + 00AE FIRMA REGISTRADA:
®
- Nº: 174
- UTF-8: C2 AE
- UTF-16: 00 AE
- U + 1337 PHWA SÍLABLE ETIÓPICO:
ጷ
- Nº: 4919
- UTF-8: E1 8C B7
- UTF-16: 13 37
- U + 2014 EM DASH:
—
- Nº: 8212
- UTF-8: E2 80 94
- UTF-16: 20 14
- U + 2030 POR SEÑAL POR MILLA:
‰
- Nº: 8240
- UTF-8: E2 80 B0
- UTF-16: 20 30
- U + 20AC SIGNO EURO:
€
- Nº: 8364
- UTF-8: E2 82 AC
- UTF-16: 20 AC
- Signo de marca comercial U + 2122:
™
- Nº: 8482
- UTF-8: E2 84 A2
- UTF-16: 21 22
- U + 2603 SNOWMAN:
☃
- Nº: 9731
- UTF-8: E2 98 83
- UTF-16: 26 03
- TELÉFONO NEGRO U + 260E:
☎
- Nº: 9742
- UTF-8: E2 98 8E
- UTF-16: 26 0E
- PARAGUAS U + 2614 CON GOTAS DE LLUVIA:
☔
- Nº: 9748
- UTF-8: E2 98 94
- UTF-16: 26 14
- U + 263A CARA SONRIENTE BLANCA:
☺
- Nº: 9786
- UTF-8: E2 98 BA
- UTF-16: 26 3A
- U + 2691 BANDERA NEGRA:
⚑
- Nº: 9873
- UTF-8: E2 9A 91
- UTF-16: 26 91
- SÍMBOLO DE ÁTOMO U + 269B:
⚛
- Nº: 9883
- UTF-8: E2 9A 9B
- UTF-16: 26 9B
- AEROPUERTO U + 2708:
✈
- Nº: 9992
- UTF-8: E2 9C 88
- UTF-16: 27 08
- CRUZ LATINA BLANCA SOMBRADA U + 271E:
✞
- Nº: 10014
- UTF-8: E2 9C 9E
- UTF-16: 27 1E
- U + 3020 CARA POSTAL MARCA:
〠
- Nº: 12320
- UTF-8: E3 80 A0
- UTF-16: 30 20
- U + 8089 CJK IDEOGRAFO UNIFICADO-8089:
肉
- Nº: 32905
- UTF-8: E8 82 89
- UTF-16: 80 89
- U + 1F4A9 PILA DE POO:
💩
- Nº: 128169
- UTF-8: F0 9F 92 A9
- UTF-16: D8 3D DC A9
- U + 1F680 ROCKET:
🚀
- Nº: 128640
- UTF-8: F0 9F 9A 80
- UTF-16: D8 3D DE 80
Ok, me estoy dejando llevar ...
Hechos graciosos: