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 に答える