填充包含重音的字符串

时间:2013-10-02 16:36:21

标签: c# string padding

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

我已经尝试过了:     myString =“SanJosédelCabo”;     myString.PadRight('',20);

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

实际结果是21个字符。

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

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以从StringInfo.LengthInTextElements中获得所需的长度。它可能看起来像:

var si = new StringInfo(myString);
int length = si.LengthInTextElements;