我们如何在C或C++中将多语言字符串或unicode字符串转换为大写/小写.
我有个问题:
有些库使用WCHAR作为文本参数,而其他库使用CHAR(作为UTF-8):当我编写自己的库时,我需要知道何时使用WCHAR或CHAR.
我的想法是用 C 语言编写一个类似 Hangman 的游戏。我希望它能够使用带有元音变音的德语单词(例如:\xc3\xa4, \xc3\xbc, \xc3\xb6)以及希腊单词(完全非 ASCII 字符)。
我的编译器和终端可以很好地处理 Unicode。显示字符串效果很好。
\n但是我应该如何对这些字符串进行操作呢?对于德语,我也许可以通过在函数中处理这些大小写来处理 6 个大写和小写重音字符。但考虑到希腊语,这似乎是不可能的。
\n我写了这个测试代码。它输出字符串、字符串的长度(当然是错误的,因为 UTF-8 序列代替了两个字符)以及字符串中各个字符的纯文本和十六进制值。
\n#include <stdio.h>\n#include <string.h>\n\nint main() {\n printf("123456789\\n");\n char aTestString[] = "cheese";\n printf("%s ist %d Zeichen lang\\n", aTestString, strlen(aTestString));\n \n for (int i = 0; i < strlen(aTestString); i++) {\n printf("( %c )", aTestString[i]); // char als char\n printf("[ %02X ]", aTestString[i]); // char in hexadezimal\n }\n\n printf("\\n123456789\\n");\n char aTestString2[] = "K\xc3\xa4se";\n printf("%s has %d characters\\n", aTestString2, …Run Code Online (Sandbox Code Playgroud)