Tôi biết câu hỏi này đã cũ và đã có câu trả lời được chấp nhận, nhưng tôi muốn đưa ra một vài ví dụ (hy vọng nó sẽ hữu ích cho ai đó).
Theo như tôi biết thì các ký tự ASCII cũ đã lấy một byte cho mỗi ký tự.
Đúng. Trên thực tế, vì ASCII là mã hóa 7 bit, nó hỗ trợ 128 mã (95 mã này có thể in được), do đó, nó chỉ sử dụng nửa byte (nếu điều đó có ý nghĩa gì).
Một ký tự Unicode cần bao nhiêu byte?
Unicode chỉ ánh xạ các ký tự đến các điểm mã. Nó không định nghĩa cách mã hóa chúng. Tệp văn bản không chứa các ký tự Unicode, nhưng byte / octet có thể đại diện cho các ký tự Unicode.
Tôi giả sử rằng một ký tự Unicode có thể chứa mọi ký tự có thể từ bất kỳ ngôn ngữ nào - tôi có đúng không?
Không. Nhưng gần như vậy. Vì vậy, về cơ bản là có. Nhưng vẫn không có.
Vì vậy, cần bao nhiêu byte cho mỗi ký tự?
Giống như câu hỏi thứ 2 của bạn.
Và UTF-7, UTF-6, UTF-16 v.v ... nghĩa là gì? Chúng có phải là một số phiên bản Unicode không?
Không, đó là những bảng mã. Chúng xác định cách byte / octet thể hiện các ký tự Unicode.
Một vài ví dụ. Nếu một số trong số đó không thể được hiển thị trong trình duyệt của bạn (có thể do phông chữ không hỗ trợ chúng), hãy đi tới http://codepoints.net/U+1F6AA
(thay thế 1F6AA
bằng mật mã ở dạng hex) để xem hình ảnh.
- U + 0061 LATIN NHỎ BÀI A:
a
- Số 97
- UTF-8: 61
- UTF-16: 00 61
- ĐĂNG KÝ BẢN QUYỀN U + 00A9:
©
- Số: 169
- UTF-8: C2 A9
- UTF-16: 00 A9
- ĐĂNG KÝ ĐĂNG KÝ U + 00AE:
®
- Số: 174
- UTF-8: C2 AE
- UTF-16: 00 AE
- U + 1337 PHONG CÁCH DÂN TỘC ETHIOPIC:
ጷ
- Số: 4919
- UTF-8: E1 8C B7
- UTF-16: 13 37
- U + 2014 EM DASH:
—
- Số: 8212
- UTF-8: E2 80 94
- UTF-16: 20 14
- U + 2030 M MII ĐĂNG KÝ:
‰
- Số: 8240
- UTF-8: E2 80 B0
- UTF-16: 20 30
- ĐĂNG KÝ U + 20AC EURO:
€
- Số: 8364
- UTF-8: E2 82 AC
- UTF-16: 20 AC
- ĐĂNG KÝ NHÃN HIỆU U + 2122:
™
- Số 8482
- UTF-8: E2 84 A2
- UTF-16: 21 22
- U + 2603 SNOWMAN:
☃
- Số: 9731
- UTF-8: E2 98 83
- UTF-16: 26 03
- ĐIỆN THOẠI ĐEN U + 260E:
☎
- Số: 9742
- UTF-8: E2 98 8E
- UTF-16: 26 0E
- U + 2614 UMBRELLA VỚI RAIN DROPS:
☔
- Số: 9748
- UTF-8: E2 98 94
- UTF-16: 26 14
- U + 263A MẶT NẠ TRẮNG TRẮNG:
☺
- Số: 9786
- UTF-8: E2 98 BA
- UTF-16: 26 3A
- CỜ ĐEN U91:
⚑
- Số 9873
- UTF-8: E2 9A 91
- UTF-16: 26 91
- BIỂU TƯỢNG U + 269B ATOM:
⚛
- Số 9883
- UTF-8: E2 9A 9B
- UTF-16: 26 9B
- U + 2708 HÀNG KHÔNG:
✈
- Số: 9992
- UTF-8: E2 9C 88
- UTF-16: 27 08
- U + 271E CHIA SẺ TRẮNG LATIN TRẮNG:
✞
- Số: 10014
- UTF-8: E2 9C 9E
- UTF-16: 27 1E
- U + 3020 MẶT B POSTNG SAU:
〠
- Số: 12320
- UTF-8: E3 80 A0
- UTF-16: 30 20
- U + 8089 Ý TƯỞNG CHỨNG MINH CỦA CJK-8089:
肉
- Số: 32905
- UTF-8: E8 82 89
- UTF-16: 80 89
- P + UF 1A4A9 CỦA POO:
💩
- Số: 128169
- UTF-8: F0 9F 92 A9
- UTF-16: D8 3D DC A9
- ROCKET U + 1F680:
🚀
- Số: 128640
- UTF-8: F0 9F 9A 80
- UTF-16: D8 3D DE 80
Được rồi tôi sẽ được mang đi ...
Những điều lý thú: