• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WindowsのUNICODEをJavaのStringに変換したい)

WindowsのUNICODEをJavaのStringに変換したい

このQ&Aのポイント
  • Windowsからソケット通信で受け取ったUNICODE(little endian)文字列をJavaのStringに変換する方法について調査しています。現在、バイト配列からStringを生成する方法を検討していますが、漢字コードが化ける問題が発生しています。エンディアン並びを逆にしたりしても問題は解決しません。また、Windowsのメモ帳で表示されるunicodeとJavaのunicodeが異なるという情報もありますが、詳細は不明です。質問者はWindowsクライアント側の通信部分でバイト配列が壊れる可能性は低いと考えています。
  • Windowsクライアントからソケット通信で受け取ったUNICODE(little endian)文字列をJavaのStringに変換する方法について質問しています。バイト配列からStringを生成する方法を試してみましたが、漢字コードが化ける問題が発生しています。エンディアン並びを逆にしたりしても問題は解決しません。また、Windowsのメモ帳で表示されるunicodeとJavaのunicodeが異なるという情報もありますが、詳細は不明です。バイト配列が壊れる可能性は低いと考えています。
  • Windowsから受け取ったUNICODE(little endian)文字列をJavaのStringに変換する方法について質問しています。現在、バイト配列からStringを生成する方法を試していますが、漢字コードが化ける問題が発生しています。エンディアン並びの変更なども試しましたが、問題は解決していません。Windowsのメモ帳とJavaのunicodeの表示に差異があるという情報もありますが、詳細は不明です。バイト配列が壊れる可能性は低いと考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.1

Unicode のリトルエンディアンでデータが送られてきていることが分かっているのですから、単純にそれを指定すればいいと思いますが…… String text = new String(buffer, "UnicodeLittleUnmarked"); ※ メモ帳もそうですが、Windows で単に Unicode といった場合 utf-16 のリトルエンディアンをさすのが普通です。

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/intl/encoding.doc.html
sha-girl
質問者

お礼

ご回答ありがとうございます。 "UTF-16LE"でうまくいきました。 基本的なことですみません、、