2013-10-02 31 views
1

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

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

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

与实际结果是长21个字符。

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

在此先感谢

+2

你能否提供一些示例文本? – Greg

+0

有一些机会,你正在寻找[StringInfo](http://msdn.microsoft.com/en-us/library/system.globalization.stringinfo.aspx)类... –

+0

编辑提供一个字符串样本 – user2839382

回答

0

您可能能够获得您正在寻找出StringInfo.LengthInTextElements长度。它可能看起来像这样:

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