- PR -

文字列に2バイト文字が含まれているか

投稿者投稿内容
トッティ
ベテラン
会議室デビュー日: 2008/04/01
投稿数: 64
投稿日時: 2008-11-28 19:38
何度もありがとうございます。

EUC-JPについて調べてみます。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-11-28 22:49
 コード変換するときに消えてしまうかもしれない文字については、考慮する必要はないのでしょうか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-11-29 00:30
トッティさんの思う2バイト文字とは何でしょう。エンコーディング(Shift_JISとかUTF-8とかEUC_JPとか)
によってその文字が何バイトかは変わるので、そういう意味ではStringの時点では何バイトかは決まっていません。

引用:
英数字とそれ以外(漢字、全角・半角かな、カナ)
みたいに

こういう明確な定義があるならそれほど複雑ではないはずです(バイト数は関係ないはずです)。
正規表現などで[英数字]以外があるかを調べればいいだけですね。
ただし本当に[英数字]とすると半角ハイフンなどは2バイト文字と判断されますけどね。

[ メッセージ編集済み 編集者: べる 編集日時 2008-11-29 00:31 ]
にー
常連さん
会議室デビュー日: 2006/04/30
投稿数: 35
投稿日時: 2008-11-29 12:07
こんな感じですか?

Regex reg = new Regex( "[0-9A-Za-z]+" );
Match m = reg.Match( チェックしたい値 );
if ( m.Success && m.Length == チェックしたい値.Length )
  //OK
else
  //NG


[ メッセージ編集済み 編集者: にー 編集日時 2008-11-30 01:24 ]
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2008-12-03 13:51
もしかして、本当にやりたいことは
「US-ASCII に含まれない文字の検出」
ということはないですか?

スキルアップ/キャリアアップ(JOB@IT)