我在C中两次看到变音符号“ A”。当我在Turbo C中打开它时,我找不到它,但是当我在记事本中打开它时,它也显示出来了。像一个指数。知道这是什么吗?
编辑:
我找到了。
gotoxy(12,8);cout<<"Ã"<<"Ä"<<"Ä"<<"´";
gotoxy(12,9);cout<<"³";
gotoxy(15,6);cout<<"Å"<<"Ä"<<"Ä"<<"¿";
答案 0 :(得分:0)
C char数组没有字符串编码的概念。它们只是以\0
结尾的数组中的一堆字节。您可以使用wchar_t
来支持unicode,但这可用于Turbo-C(大约1988年)??!。
如果要使用UTF-8,请确保您正在使用可以处理这些类型的字符的编辑器。无法在ISO-8859-16单八位字节编码中包含变音符号。
如果您的编辑器无法直接处理UTF-8,则可以将它们编码为二进制:
char umlaut_A[3] = { 0xc3, 0x84, 0x00 }; // Ä
char umlaut_a[3] = { 0xc3, 0xa4, 0x00 }; // ä
// ... etc.
找出这些错误的一种方法是将UTF-8字符串粘贴到文件中,例如:Ä ä ö ü
。
然后使用十六进制编辑器查看有问题的数字。