C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: stringのLength


(過去ログ 50 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■27430 / inTopicNo.1)  stringのLength
  
□投稿者/ .SHO (1回)-(2008/11/05(Wed) 18:32:18)

分類:[C#] 

2008/11/05(Wed) 18:32:57 編集(投稿者)
2008/11/05(Wed) 18:32:55 編集(投稿者)

はじめまして。

stringのLengthで、2バイト文字を2で取得するようなことは可能でしょうか?
つまり…

string s = "あいうえお";
Console.WriteLine( s.Length );

の結果が、5ではなく10になって欲しいです。

以上、よろしくお願いします。
引用返信 編集キー/
■27433 / inTopicNo.2)  Re[1]: stringのLength
□投稿者/ 魔界の仮面弁士 (889回)-(2008/11/05(Wed) 19:00:35)
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);
引用返信 編集キー/
■27434 / inTopicNo.3)  Re[1]: stringのLength
□投稿者/ 倉田 有大 (328回)-(2008/11/05(Wed) 19:01:12)
2008/11/05(Wed) 19:03:05 編集(投稿者)
No27430 (.SHO さん) に返信
> 2008/11/05(Wed) 18:32:57 編集(投稿者)
> 2008/11/05(Wed) 18:32:55 編集(投稿者)
>
> はじめまして。
>
> stringのLengthで、2バイト文字を2で取得するようなことは可能でしょうか?
> つまり…
>
> string s = "あいうえお";
> Console.WriteLine( s.Length );
>
> の結果が、5ではなく10になって欲しいです。
>
> 以上、よろしくお願いします。

2バイトというよりshift-jisの時のバイト数ですか?
何回も見た質問なので、ぐぐればすぐでてくるとおもいますよ。
wiiからなので具体的ソースはれなくてすいません。

って魔界の仮面弁士さんはや!
引用返信 編集キー/
■27451 / inTopicNo.4)  Re[2]: stringのLength
□投稿者/ .SHO (2回)-(2008/11/06(Thu) 09:15:56)
ありがとうございます。
解決しました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -