Tôi đọc rằng C không xác định nếu một ký tự được ký hoặc chưa ký, và trong trang GCC, nó có thể được ký trên x86 và không được ký trong PowerPPC và ARM.Câu hỏi của Char C về mã hóa đã ký/chưa ký
Okey, tôi đang viết một chương trình với GLIB xác định char là gchar (không nhiều hơn nó, chỉ là một cách để tiêu chuẩn hóa).
Câu hỏi của tôi là, UTF-8 là gì? Nó sử dụng nhiều hơn một khối bộ nhớ?
Nói rằng tôi có một biến
unsigned char * string = "string của tôi với UTF8 enconding ~> CA";
Xem, nếu tôi khai báo biến tôi như
unsigned
tôi sẽ chỉ có 127 giá trị (do chương trình của tôi sẽ để lưu trữ nhiều hơn các khối mem) hoặc UTF-8 thay đổi thành âm?
Xin lỗi nếu tôi không thể giải thích chính xác, nhưng tôi nghĩ rằng tôi hơi phức tạp một chút.
LƯU Ý: Cảm ơn tất cả trả lời
Tôi không hiểu làm thế nào nó được giải thích thông thường.
Tôi nghĩ rằng như ascii, nếu tôi có một chữ ký và unsigned char trên chương trình của tôi, các chuỗi có giá trị khác nhau, và nó dẫn đến nhầm lẫn, tưởng tượng nó trong utf8 như vậy.
Nếu bạn đang sử dụng một máy tính hiện đại, unsigned char sẽ hỗ trợ các giá trị 0..255. Nhưng UTF-8 là một mã hóa nhiều byte - nó sử dụng 1,.4 byte cho mỗi ký tự Unicode. –
Tôi đang nói về @Michael Burr nói. – drigoSkalWalker