私はポストリクエストのためにデータを渡すために変換する必要のあるユニコードのタイプを理解するのに苦労しています。主に中国語の文字です。UTFエンコーディングのタイプを識別するための助けが必要
例文字列:
的事故事务院治党派驻地是不是
期待ユニコード:% u7684%u4E8B%u6545%u4E8B%u52A1%u9662%u6CBB%u515A%u6D3E% u9A7B%u5730%u662F%u4E0D%u662F
をにエンコードしようとしたUTF16-BE: %76%84%4E%8B%65%45%4E%8B%52%A1の%5C%40%5C %40%95%7F%67%1F%8D%27%7B%49%5F%85%62%08%59%1A
UTF-16でエンコードされたテキスト:%FF%FE%84%76%8B%4E%45%65%8B%4E%A1%52%62%96%BB%6C%5A%51% 3E%6Dの%7B%9Aの%30%57%2F%66%0D%の4E%の2Fの%66
UTF-8でエンコードされたテキスト:% E7の%9Aは%84%E4%でのBAの%8B%のE6 E95%85%E4%BA%8B%E5%8A%A1%E9%99%A2%E6%B2%BB%E5%85%9A%E6%B4%BE%E9%A9%BB%E5%9Cあなたが見るように、UTF16-BEが最も近いですが、2バイトしかかからず、さらに%uが必要です。予想されるユニコードに示されているように、すべての文字の前に表示されます。
URLEncoderメソッドを使用して、標準のcharsetエンコーディングでエンコードされたテキストを取得しましたが、期待されるユニコードを返さないようです。
コード:
String text = "的事故事务院治党派驻地是不是";
URLEncoder.encode(text, "UTF-16BE");
[Javaで文字列の文字セットをチェックする方法は?](https://stackoverflow.com/questions/11497902/how-to-check-the-charset-of-string-in-java) – Dziugas
あなたの期待は間違っています。 – Kayaman
@ Kayamanこれは、Chromeのコンソールで投稿リクエストを盗聴している間に取得したユニコードの値です。 – FadhliS