1

我正在填充一个包含重音符号的字符串。但是,由于它包含重音符号,最终的字符串长度更大。我想这与 ASCII / Unicode 差异有关,但我还没有弄清楚确切的原因。

我已经尝试过: myString = "San José del Cabo"; myString.PadRight(' ', 20);

myString = "San José del Cabo";
string.format("{0,-20}", myString);  

实际结果是 21 个字符长。

C# 中是否有考虑字符串编码以返回正确最终长度的内置方法?

提前致谢

4

1 回答 1

0

您可以从StringInfo.LengthInTextElements中获得您正在寻找的长度。它可能看起来像:

var si = new StringInfo(myString);
int length = si.LengthInTextElements;
于 2013-10-02T18:13:03.443 回答