
Javaにて「シフトJIS X 0213」で定められている下記の文字を判断したいです。
(参照: http://www.eonet.ne.jp/~kotobukispace/ddt/jisx02 …)
・第3水準
・第4水準
・予約
・使用不可
実現方法としては、文字列を「シフトJIS X 0213」にエンコードして、
エンコードした文字のバイトを判断するのが妥当だと思いますが、
Javaにて「シフトJIS X 0213」にエンコードすることは可能でしょうか。
sunの「サポートされているエンコーディング」の一覧を見ても「シフトJIS X 0213」
はサポートされていないように見受けられます。
(参照: http://www.ingrid.org/java/i18n/encoding/)
仮に「シフトJIS X 0213」にエンコード出来ない場合、
他の方法にて実現する方法等ありましたらご教授願います。
【動作環境】
OS:Windows Vista Business
JRE:1.5.0_10
No.1ベストアンサー
- 回答日時:
>Javaにて「シフトJIS X 0213」にエンコードすることは可能でしょうか。
質問文のリンク先を読んでみましたが、X 0213はまだサポートされていないようですね。
JavaのUnicode文字を単にShift_JISにエンコードすれば第1水準・第2水準の文字は判断できますが、第3水準・第4水準については難しそうですね。
また、予約・使用不可というのは文字ではなく、使えないコード範囲なのですから、Unicode文字には予約・使用不可に変換される文字は無いでしょう。
この回答への補足
thamansa様、ご回答真にありがとうございます。
私の質問文の書き方が悪く、真意が伝えきれておりませんでした。
真意としては、対象の文字に禁則文字(※1)が含まれているか否かを判断したいのです。
Shift_JISにエンコードすることで、「第1水準」「第2水準」の判断がつくのであれば、
エンコード出来ない文字は、禁則文字(※1)として判断出来る認識で良いでしょうか。
(※1)「シフトJIS X 0213」で定められている下記の文字
・第3水準
・第4水準
・予約
・使用不可
No.3
- 回答日時:
JIS規格の「Shift_JIS」には、NEC拡張文字とIBM拡張文字が入っていなくて、それらを含めた文字コードはMS932またはWindows-31Jという文字コードです。
str.getBytes("Windows-31J");
thamansa様、No.1の答えに重ね、ご回答真にありがとうございます。
ご教授いただきました方法によって実現することが出来ました。
この度は真にありがとうございました。
No.2
- 回答日時:
第3水準・第4水準文字は、SJISでgetBytes()すると0x3f、すなわちASCIIの'?'文字になります。
この回答への補足
ranco様、ご回答真にありがとうございます。
ANo.1のthamansa様の回答より、Shift_JISにエンコードすることで、「第1水準」「第2水準」の判断がつくと認識しました。
str.getBytes("shift_jis");
より、Shift_JISにエンコードする方法を取り、動作確認レベルで検証を行いましたが、
0x8740~0x8775の「第1水準」の文字(機種依存文字でしょうか?)が変換不能になり、0x3F(63)が返却されてしまいます。
何か良い解決策をご存知ないでしょうか。。。
質問ばかりで申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- その他(IT・Webサービス) 電気ガスの手続きで文字を入力したいのですが、入力したい文字がアルファベットなんです。ですが、文字がJ 1 2023/05/14 18:00
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Java VScodeのターミナルの文字化けについて 1 2022/09/27 22:19
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- その他(ビジネス・キャリア) JISの表記について 1 2023/07/06 14:35
- ノートパソコン 10コアCPU、32コアGPU、16コアNeural Engine搭載Apple M1 Max 32 2 2022/12/01 15:37
- その他(プログラミング・Web制作) PythonでLoopを使って配列内の文字列を結合する。そして [] を削除する 1 2022/03/31 23:28
- 数学 関数項級数について一様収束するかどうか判定をお願いしたいです。 以下の式のΣ[n=1→∞]についてで 1 2023/01/26 16:32
- 数学 方程式の中に出てくるxは数字ですか?文字ですか? 両方ですか? 中学3年生です。今、二次方程式を習っ 9 2022/08/26 16:35
このQ&Aを見た人はこんなQ&Aも見ています
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。
-
ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
ゴリラ向け動画配信サイト「ウホウホ動画」にありがちなことを教えて下さい。
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
自分用のお土産
国内や海外に旅行へ行った時、自分用のお土産ってどれくらい買いますか?
-
VBAによる第3、4水準文字の判定について
Visual Basic(VBA)
-
日本語(ひらがな・カタカナ・漢字)があるか判断する
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのVBAでLenB関数について
-
一番右のスペース以降の文字列...
-
ファイル名の一部削除について
-
TextFieldParserの固定長桁数を...
-
機種依存文字と特殊文字について
-
アクセス ステータスバーの文...
-
CString型 全角半角を意識せず...
-
ASC関数
-
C言語とWin32APIで全角かなの...
-
VB6のテキストボックスに入力し...
-
エクセルで13,410円を数値の134...
-
StrConvでUnicodeに変換出来な...
-
HEX
-
「シフトJIS X 0213」形式の文...
-
VBA 変数名に変数を使用したい。
-
エクセルでXY座標に並べられた...
-
C# DataTableに最後に追加した...
-
配列の中の最大値とそのインデ...
-
『列名 '担当者CD' があいま...
-
INT64対応のprintf系関数はあり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
StrConvでUnicodeに変換出来な...
-
EXCELのVBAでLenB関数について
-
ファイル名の一部削除について
-
CString型 全角半角を意識せず...
-
一番右のスペース以降の文字列...
-
アクセス ステータスバーの文...
-
TextFieldParserの固定長桁数を...
-
C言語とWin32APIで全角かなの...
-
エクセルで13,410円を数値の134...
-
機種依存文字と特殊文字について
-
文字列から、null値を除去する方法
-
VB6のテキストボックスに入力し...
-
VB.NET ListBox内の前方一致で...
-
マルチバイト混在の文字列整形
-
ASC関数
-
文字の並び替え
-
HEX
-
バイナリデータの取り方
-
全角文字と半角文字を判別して...
-
文字列の中の1文字を比較するに...
おすすめ情報