
No.2ベストアンサー
- 回答日時:
まぁよくある話ですよね。
これについては1バイトずつチェックするしかありません。(SJISのチェックはそういうものです)
チェックする方法もそれほどむつかしくありません。
簡単に書くとこんな感じです。
(1)1バイト読む
(2)バイトチェック
- 1バイト文字だったら(1)に
- そうでない場合は(3)に
(3)バイトチェック
- SJISの1バイト目として適切な範囲の値であれば(4)に
- ありえない値だったらエラー
(4)1バイト読む
(5)バイトチェック
- SJISの2バイト目として適切な範囲の値であれば(1)に
- ありえない値だったらエラー
実際には
1バイト目として適切な範囲の値でかつ
2バイト目として適切な範囲の値であってもNGになるパターンがあったと思います。
それは(5)のあとで個別にはじく必要があったと思います。
ググれば詳しい方法が見つかるでしょう。
・そんなに難しくない
・1文字ずつチェックするしかない
・範囲チェックを繰り返せばいい
という点だけわかればあとはすぐだと思います。
そうですか?
Perlなら、
use File::Slurp;
use ShiftJIS::String;
my $whole = read_file($up);
if (!issjis($whole)) {
# 文字化け
}
No.3
- 回答日時:
Javaでは文字コード判別の関数は無いと思います。
自作するしかなさそうですね。
mibusys様の仰るとおり検索してみましょう。
↓のようなものはすぐに見つかりますよ。
http://amateras.sourceforge.jp/cgi-bin/fswiki/wi …
No.1
- 回答日時:
かなり面倒だよね。
Javaでは読み込む時にエンコードを指定して(指定しなければサーバのデフォルト)で読み込んでしまうから。
今思い浮かぶのは
・コード表作って、バイト単位にチェックする
・Java以外でチェックさせる
・チェックはあきらめてJISAutoDetect指定してしまう
※JISAutoDetectはあまり推奨されてないです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTMLエディタBracketsの文字化け 3 2022/04/28 14:50
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- HTML・CSS CSSファイルの日本語コメントが文字化けしてしまう 3 2022/12/26 15:50
- HTML・CSS docxをmht形式で保存したファイルをedgeで開くと文字化けする 1 2022/07/29 13:14
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
- その他(プログラミング・Web制作) ゲームを日本語化しようとすると文字化けしてしまいます。 2 2022/08/19 15:36
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) エクセルVBAでメールの自動作成の モジュールを作ったのですが、txtファイルから読み込んだ本文が文 2 2022/07/20 15:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
通貨型はバイト型に変換可能?
-
COBOLのCOMP形式について
-
UTF-8で5~6バイトになる文字コ...
-
正規表現が得意なかた教えてく...
-
文字のバイトサイズの取得
-
char str[256]の256の意味は?
-
テキストBOXの入力制限について
-
エクセルシート名の制限を変更...
-
C++ Builderで文字列をバイトに...
-
VBAでShift-JISのURLエンコード
-
バイナリとBCDコード
-
半角、全角の判別方法
-
javaでアップロード時、SJIS文...
-
バイト境界とは
-
エクセルで2byte文字を含むセル...
-
機種依存文字をチェックしたい。
-
Excel VBA で Oracle CLOB型カ...
-
64bit対応
-
2バイト文字の判定はString#get...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
char str[256]の256の意味は?
-
エクセルシート名の制限を変更...
-
バイト列とバイナリ列の違いが...
-
VBAでShift-JISのURLエンコード
-
機種依存文字をチェックしたい。
-
ピクセル,dpiから容量(バイト...
-
GetWindowTextでアドレスバーか...
-
この関数はどのプログラミング...
-
ソケット通信の受信サイズ
-
:(コロン)のKeyCode
-
COBOL PICTUREで X,S,Vの意味
-
memcmp バイナリデータの比較方法
-
より高速な画像の表示法
-
半角、全角の判別方法
-
最大長を用意せずにバイナリデ...
-
64bit対応
-
バイナリとBCDコード
おすすめ情報