C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: SJISはすべてMS932/utf8に含まれる?JAVA


(過去ログ 141 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■82557 / inTopicNo.1)  SJISはすべてMS932/utf8に含まれる?JAVA
  
□投稿者/ プリンプリン (1回)-(2017/01/15(Sun) 01:35:36)

分類:[Java] 

2017/01/15(Sun) 01:40:21 編集(投稿者)

標題の件、MS932/utf8はSJISはを拡張したものと理解しています。

MS932/utf8にSJISの文字はすべて含まれるものでしょうか。

@番で実行したとき文字化けになりますがABですとOKです。
この場合、単純にAorBのコンストラクタに変更しても、問題
ないでしょうか。

byte [] data = str.getBytes("hoge");

@String str2 = new String(data,"SJIS");
AString str2 = new String(data,"MS932");
BString str3 = new String(data,"UTF-8");

宜しくお願いします。
引用返信 編集キー/
■82558 / inTopicNo.2)  Re[1]: SJISはすべてMS932/utf8に含まれる?JAVA
□投稿者/ もりお (29回)-(2017/01/15(Sun) 03:50:02)
2017/01/15(Sun) 03:53:59 編集(投稿者)

No82557 (プリンプリン さん) に返信

new String(data, "hoge")は指定のキャラセットでバイト列を復号化してStringを作るものです。

問題なさげか問題ありまくりかは扱う文字によって変わってきますが
一般論としましてバイト列はキャラセットごとに異なるものです。

あるキャラセットの文字が別のキャラセットに含まれるとしても
バイト列が一致するとは限りません。

なのでバイト列を複合化するときのキャラセットは
符号化したときのキャラセットに合わせるべきかと思います。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -