NOBlog 〜バカの一念〜

基本的にはNOB(ノブ)の日記。
スキークロス国際レース出場を目標に日々努力中。

  November/2007  
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
blog内検索

[VB.NET応用]文字の全角・半角をチェックするには

2005-01-18
文字が全角なのか、半角なのか調べたい。そんな事、結構あります。
Shift-JISでは、半角文字が1byte、全角文字が2byteと決まっているので、次のようにすると判定できます。
Dim str As String
'
'strに任意の文字を割り当てます。ex) str = "a"
'
Dim sjisEnc As Encoding = Encoding.GetEncoding("Shift_JIS")
Dim count As Integer = sjisEnc.GetByteCount(str)

結果、countが1なら1byte文字(=半角)、2なら2byte文字(=全角)となります。
これを応用すると、任意の文字列に半角が含まれているか?や、その逆を調べることができます。

・「GetByteCount(str)で取得したバイト数」と「str.Length * 2」が一致すれば、文字列はすべて全角
・「GetByteCount(str)で取得したバイト数」と「str.Length」が一致すれば、文字列はすべて半角
・「GetByteCount(str)で取得したバイト数 / 2」で余りが出た場合は、全角・半角混在です。


※注
当ブログのTipsは、@IT等の情報サイトの内容を参考にして構成された記事
もあります。Tipsの内容に著作権等権利を侵害する内容があった場合には、
告知して下さい。早急に訂正または削除にて対応したいと思います。

この記事へのトラックバックURL

この記事へのコメント
Copyright(C) PwBlog. All rights reserved.