Wiem, że to pytanie jest stare i ma już zaakceptowaną odpowiedź, ale chcę podać kilka przykładów (mam nadzieję, że będzie komuś przydatny).
O ile wiem, stare znaki ASCII zajmowały jeden bajt na znak.
Dobrze. W rzeczywistości, ponieważ ASCII jest kodowaniem 7-bitowym, obsługuje 128 kodów (z których 95 można wydrukować), więc wykorzystuje tylko pół bajtu (jeśli to ma sens).
Ile bajtów wymaga znak Unicode?
Unicode po prostu mapuje znaki na punkty kodowe. Nie określa, jak je zakodować. Plik tekstowy nie zawiera znaków Unicode, ale bajty / oktety, które mogą reprezentować znaki Unicode.
Zakładam, że jeden znak Unicode może zawierać każdy możliwy znak z dowolnego języka - czy mam rację?
Nie. Ale prawie. W zasadzie tak. Ale nadal nie.
Ile bajtów potrzebuje na znak?
To samo co twoje drugie pytanie.
A co oznaczają UTF-7, UTF-6, UTF-16 itp.? Czy są to jakieś wersje Unicode?
Nie, to są kodowania. Określają, w jaki sposób bajty / oktety powinny reprezentować znaki Unicode.
Kilka przykładów. Jeśli niektórych z nich nie można wyświetlić w przeglądarce (prawdopodobnie dlatego, że czcionka ich nie obsługuje), przejdź do http://codepoints.net/U+1F6AA
(zamień 1F6AA
na współrzędną kodową w hex), aby zobaczyć obraz.
- U + 0061 ŁACIŃSKI MAŁY LIST A:
a
- Nº: 97
- UTF-8: 61
- UTF-16: 00 61
- U + 00A9 ZNAK PRAWA AUTORSKIEGO:
©
- Nº: 169
- UTF-8: C2 A9
- UTF-16: 00 A9
- U + 00AE ZAREJESTROWANY ZNAK:
®
- Nº: 174
- UTF-8: C2 AE
- UTF-16: 00 AE
- U + 1337 ETIOPTYCZNY SYGNAŁ PHWA:
ጷ
- 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 NA MILLE SIGN:
‰
- Nº: 8240
- UTF-8: E2 80 B0
- UTF-16: 20 30
- U + 20AC ZNAK EURO:
€
- Nº: 8364
- UTF-8: E2 82 AC
- UTF-16: 20 AC
- U + 2122 ZNAK ZNAKU TOWAROWEGO:
™
- 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
- U + 260E CZARNY TELEFON:
☎
- Nº: 9742
- UTF-8: E2 98 8E
- UTF-16: 26 0E
- U + 2614 PARASOL Z KROPLI DESZCZU:
☔
- Nº: 9748
- UTF-8: E2 98 94
- UTF-16: 26 14
- U + 263A BIAŁA TWARZ UŚMIECHNIĘTY:
☺
- Nº: 9786
- UTF-8: E2 98 BA
- UTF-16: 26 3A
- U + 2691 BLACK FLAG:
⚑
- Nº: 9873
- UTF-8: E2 9A 91
- UTF-16: 26 91
- U + 269B SYMBOL ATOMOWY:
⚛
- Nº: 9883
- UTF-8: E2 9A 9B
- UTF-16: 26 9B
- U + 2708 SAMOLOT:
✈
- Nº: 9992
- UTF-8: E2 9C 88
- UTF-16: 27 08
- U + 271E CIENIANY BIAŁY KRZYŻ ŁACIŃSKI:
✞
- Nº: 10014
- UTF-8: E2 9C 9E
- UTF-16: 27 1E
- U + 3020 POSTAL MARK TWARZ:
〠
- Nº: 12320
- UTF-8: E3 80 A0
- UTF-16: 30 20
- U + 8089 CJK UNIFIED IDEOGRAPH-8089:
肉
- Nº: 32905
- UTF-8: E8 82 89
- UTF-16: 80 89
- U + 1F4A9 PILE OF POO:
💩
- Nº: 128169
- UTF-8: F0 9F 92 A9
- UTF-16: D8 3D DC A9
- ROCKET U + 1F680:
🚀
- Nº: 128640
- UTF-8: F0 9F 9A 80
- UTF-16: D8 3D DE 80
Dobra, daję się ponieść ...
Zabawne fakty: