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

回答編集履歴

2

回答内容の追記

2018/05/27 00:20

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -2,5 +2,13 @@
2
2
 
3
3
  ここで既に違っていると思われます。
4
4
  _tmp_string_2 に格納(+=)されている文字列が、(最初の場合)「\u4ec1」(6文字)です。javaで言うところの、"\u4ec1"(こちらは、UTF-16? で一文字)ではありません。
5
- Jsonが送ってくる文字列が、"u4ec1"と言う文字列なので、それをUTF-16(で良かった?)の文字コードとして認識、一文字の変換する処理が必要です。変換方法は、、、即答できるほど、覚えていないので、後で調べてみたいと思います。
5
+ Jsonが送ってくる文字列が、"u4ec1"と言う文字列なので、それをUTF-16(で良かった?)の文字コードとして認識、一文字の変換する処理が必要です。変換方法は、、、~~即答できるほど、覚えていないので、後で調べてみたいと思います。~~
6
- (どなたか、知っている方、よろしく。 泥臭い方法は分かるのですが)
6
+ (どなたか、知っている方、よろしく。 泥臭い方法は分かるのですが)
7
+
8
+ [追記]
9
+ デコード方法の提示がありました。ありがとうございます。
10
+ なお、"\" の追加のみで NGの意味ですが、
11
+ > "\" + _tmp_string.substring(j, j+5);
12
+
13
+ は、ソース上で、"\u4ec1" に相当します。上記に記載が漏れたので、追記します。
14
+ それに対し、**ソースで、"\u4ec1" は、コンパイラが、一文字とみなし、変換**します。(従って別物)

1

誤記訂正

2018/05/27 00:20

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  ここで既に違っていると思われます。
4
4
  _tmp_string_2 に格納(+=)されている文字列が、(最初の場合)「\u4ec1」(6文字)です。javaで言うところの、"\u4ec1"(こちらは、UTF-16? で一文字)ではありません。
5
- Jsonが送ってくる文字列が、"4ec1"と言う文字列なので、それをUTF-16(で良かった?)の文字コードとして認識、一文字の変換する処理が必要です。変換方法は、、、即答できるほど、覚えていないので、後で調べてみたいと思います。
5
+ Jsonが送ってくる文字列が、"u4ec1"と言う文字列なので、それをUTF-16(で良かった?)の文字コードとして認識、一文字の変換する処理が必要です。変換方法は、、、即答できるほど、覚えていないので、後で調べてみたいと思います。
6
6
  (どなたか、知っている方、よろしく。 泥臭い方法は分かるのですが)