【发布时间】:2023-03-08 21:15:01
【问题描述】:
使用 C#、Framework 4.0,我在德语方面遇到了一个棘手的问题。
考虑到这个snippet:
string l_stest = "ZÄHLWERKE";
Console.WriteLine(l_stest.Length); // 9
Console.WriteLine(toto.LengthInTextElements); // 9
Console.ReadLine();
结果将是9;
现在,选择带有Notepad++ 的文本,它将得到10 的长度。
我猜encoding 是我的问题的根源,但不必扫描我的单词并用匹配的两个字母替换变音符号(Ä -> AE),我该如何继续计算正是我的字符串的长度?
编辑:我认为正确的长度是10。
提前致谢!
【问题讨论】:
-
将源文件另存为 UTF-8 已经试过了吗?
-
你认为正确的字符串长度是 9 还是 10?
-
听起来像是 N++ 中的一个奇怪的错误,如果你问我的话。再说一次,我认为它是 Unicode 感知的。
-
@ryadavilli 已更新,谢谢!
-
Ä是一个字符,那你为什么要把它算作两个呢?
标签: c# localization string-length