JavaでISO-8859-1とUTF-8を変換するにはどうしたらいいですか?
2023-09-21 12:54:24
質問
Javaで文字列をISO-8859-1からUTF-8に変換して戻す方法を知っている人はいますか?
私はウェブから文字列を取得し、RMS(J2ME)に保存していますが、私は特殊文字を保持し、RMSからISO-8859-1エンコーディングの文字列を取得したいです。どうすればよいのでしょうか?
どのように解決するのですか?
一般に、これはできません。UTF-8 はあらゆる Unicode コードポイントをエンコードすることができます。ISO-8859-1 はそのうちのごく一部しか扱うことができません。ですから、ISO-8859-1からUTF-8にトランスコードすることは問題ありません。UTF-8 から ISO-8859-1 に戻すと、サポートされていない文字が見つかったときに、テキストに "置換文字" (�)が表示されるようになります。
テキストをトランスコードするには
byte[] latin1 = ...
byte[] utf8 = new String(latin1, "ISO-8859-1").getBytes("UTF-8");
または
byte[] utf8 = ...
byte[] latin1 = new String(utf8, "UTF-8").getBytes("ISO-8859-1");
より多くの制御を行うには、低レベルの
Charset
の API を使うことで、さらに制御することができます。例えば、エンコードできない文字が見つかったときに例外を発生させたり、置換テキストに別の文字を使用したりすることができます。
関連
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
ジャバアレイ
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] ずっとUTF-8
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
型に解決できない エラー解決
-
プロジェクトの依存関係を解決できない。
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
Jsoup-Crawlingの動作
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
ジャバアレイ
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
htmlとwordの相互変換の実装(画像あり)