UTF8 có 8 bit nhưng làm sao lưu được văn bản tiếng việt?

Mình hiểu utf8 thì 8bit, mình hiểu 8bit thì không lưu được tiếng việt. Nhưng tại sao trong notepad khi nhấn lưu hay các ứng dụng khác… dùng utf8 vẫn lưu được tiếng việt nhỉ ?

Thì bạn hiểu sai chứ sao, nên tìm hiểu chứ đừng suy diễn. UTF-8 không dùng cố định 8 bit để lưu.

5 Likes

à mình hiểu ra rồi cảm ơn bạn nhé

Một kí tự của UTF-8 có thể bao gồm nhiều kí tự trong bảng ASCII (mở rộng).
Và theo đó:

  • UTF-16 gồm nhiều kí tự UTF-8 khác.
  • UTF-32 lại gồm nhiều kí tự UTF-16 khác.

Chứng minh cụ thể là những emoji (biểu tượng cảm xúc) hiện tại ngày đang được phát triển. Mỗi biểu tượng đều gồm nhiều kí tự (biểu tượng) khác kết hợp lại.
Bạn có thể tìm hiểu hệ thống kí tự khổng lồ qua trang bên dưới:


Bạn có thể biết chi tiết kí tự đó được mã hóa như thế nào theo từng kiểu mã hóa UTF-8, UTF-16 và UTF-32.

Một ví dụ thú vị, hãy chạy đoạn Javascript này:

let vn = "🇻🇳";
console.log([...vn]); // => ["🇻","🇳"]
3 Likes

mình biết cái này ở bảo mật, cảm ơn bạn nhé

1 Like

Thì một ký tự tiếng Việt hoặc các tiếng khác sẽ được lưu bằng 2,3 byte.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?