|
■No27430 (.SHO さん) に返信 > stringのLengthで、2バイト文字を2で取得するようなことは可能でしょうか?
意図は読み取れますが、「2バイト文字」という表現は避けた方が良いと思いますよ。 エンコーディングによって、必要なバイト数は異なるのですから。
string s = "あ";
// 8 バイト int intJIS = System.Text.Encoding.GetEncoding("iso-2022-jp").GetByteCount(s);
// 5 バイト int intUTF7 = System.Text.Encoding.UTF7.GetByteCount(s);
// 3 バイト int intUTF8 = System.Text.Encoding.UTF8.GetByteCount(s);
// 2 バイト int intUTF16 = System.Text.Encoding.Unicode.GetByteCount(s); int intSJIS = System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(s); int intEUCJP = System.Text.Encoding.GetEncoding("euc-jp").GetByteCount(s);
|