[トピック内 7 記事 (1 - 7 表示)] << 0 >>
> ある文字列に半角全角が混在していて、20バイトになるまで右に半角スペースを > 入れようと思っています。 shift_jis換算でのバイト数がわかればいいのかしら。ならば: public class Program { public static void Main() { System.Console.WriteLine(input.Length); System.Text.Encoding sjis = System.Text.Encoding.GetEncoding("shift_jis"); System.Console.WriteLine(sjis.GetByteCount("abcあいう")); } }
> string aaa = "123あいう"; > aaa.PadRight(20,char(" ")); > と実装したら「う」の後ろに14文字の半角スペースが入りました。これだと23バイトですよね。 > 20バイトで表現したいので「う」の後ろに11文字の半角スペースを入れたいのです。 > 11文字の空白を入れる実装方法が分からないのです。 いや、だから、aaaの「shift_jis換算でのバイト数」がわかれば、20から そのバイト数引いたのをPadRightの第一引数に与えりゃええべ? string aaa = "abcあいう"; string result = aaa.PadRight(20 - System.Text.Encoding.GetEncoding("shift_jis").GetByteCount(aaa), ' ');
管理者用
- Child Tree -