2008年12月24日水曜日

C#文字列のバイト数

何度調べたことか。。。
覚書として残しておきます。

.NET2.0 では、Stringクラスに文字数を取得するLengthというPropertyしかないんよね。
バイト数が知りたいと思ってもメソッドがありません。
全角文字やと1文字が2バイトになり。
入力制限を設けるのに嵌りました。

@ITにそのままの記事があったのでリンクを載せておきます。
http://www.atmarkit.co.jp/fdotnet/dotnettips/012strcount/strcount.html
----抜粋------------
String str;
Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
int num = sjisEnc.GetByteCount(str);
--------------------

Encoding のGetByteCountメソッドを使ってバイト数を求めます。
文字コードがUTF-8の場合などはGetEncodingの引数を変更すればOKです。

.

0 件のコメント:

ラベル