teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

微小変更

2017/07/25 13:41

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -9,5 +9,7 @@
9
9
  【追記】
10
10
  すいません。違いました。
11
11
  文字コードを見る限り、UTF-8でエンコードされた文字列をShift-JISと解釈してUTF-8へ無理やり変換するとそのようなコードになる筈です。
12
- つまり、UTF-8の「テスト」=E38386 E382B9 E38388をE383(繝) 86E3(無効) 82B9(せ) E383(繝) 88(無効)と解釈し、それをUTF-8へ変換しているものが送信されてきているデータのようです。
12
+ つまり、UTF-8の「テスト」=`E38386 E382B9 E38388``E383(繝) 86E3(無効) 82B9(せ) E383(繝) 88(無効)`と解釈し、それをUTF-8へ変換しているものが送信されてきているデータのようです。
13
- UTF-8のE7B99Dは「繝」です。
13
+ UTF-8のE7B99Dは「繝」です。
14
+
15
+ つまり、送信側で化けているので、そちらを修正しないと復元は難しいです。無効文字の対応が取れないはずですから。

2

追加

2017/07/25 13:41

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -9,4 +9,5 @@
9
9
  【追記】
10
10
  すいません。違いました。
11
11
  文字コードを見る限り、UTF-8でエンコードされた文字列をShift-JISと解釈してUTF-8へ無理やり変換するとそのようなコードになる筈です。
12
- つまり、UTF-8の「テスト」=E3 83 86 E3 82 B9 E3 83 88をE383(繝) 86E3(無効) 82B9(せ) E383(繝) 88(無効)と解釈し、それをUTF-8へ変換しているものが送信されてきているデータのようです。
12
+ つまり、UTF-8の「テスト」=E38386 E382B9 E38388をE383(繝) 86E3(無効) 82B9(せ) E383(繝) 88(無効)と解釈し、それをUTF-8へ変換しているものが送信されてきているデータのようです。
13
+ UTF-8のE7B99Dは「繝」です。

1

追記

2017/07/25 13:39

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -3,4 +3,10 @@
3
3
  その文字列はURL形式でエンコードされているようです。まずはURL形式から通常の文字コードへ変換しましょう。それはUTF-8で「テスト」になっているはずです。
4
4
  そのままコマンドプロンプトへ出力すると「繝・せ繝・」と文字化けするので、UTF-8→Shift-JIS変換すれば良いはずです。
5
5
 
6
- URLエンコード形式について私は把握していませんが、[Wikipedia](パーセントエンコーディング)に簡単な記載があります。これを見る限りでは、%の次の2文字を16進数と解釈して文字列の1バイトへ単純変換すれば良さそうな感じです。
6
+ URLエンコード形式について私は把握していませんが、[Wikipedia](パーセントエンコーディング)に簡単な記載があります。これを見る限りでは、%の次の2文字を16進数と解釈して文字列の1バイトへ単純変換すれば良さそうな感じです。
7
+
8
+ ---
9
+ 【追記】
10
+ すいません。違いました。
11
+ 文字コードを見る限り、UTF-8でエンコードされた文字列をShift-JISと解釈してUTF-8へ無理やり変換するとそのようなコードになる筈です。
12
+ つまり、UTF-8の「テスト」=E3 83 86 E3 82 B9 E3 83 88をE383(繝) 86E3(無効) 82B9(せ) E383(繝) 88(無効)と解釈し、それをUTF-8へ変換しているものが送信されてきているデータのようです。