(API )架電結果の一覧取得の実行結果データについて
完了/api/apps/pigeon/calls のAPIを実行いたしました。パラメータは limit=300&offset=999 を指定。
結果、9/22で1265件の架電データが採取されましたが、1件受信したメッセージが化けてしまっているように見受けられます。
原因と事象をご教示いただけますでしょうか?
resultId: 50df9434-dd6c-4d03-b4f4-70e4a33d24a6
createdAt: "2022-09-08T09:20:39Z"
架電先は1件のみで完了
AlertHub が受信したメッセージは以下
ですが、APIでダウンロードしたjson ファイルのメッセージは以下の様になりました。
jsonを開いているエディターの設定は UTF-8 です。
表示だけをみれば、unicode の u200f 標記のようですが、違うようです。
どういった原因で、このような事象になるのでしょうか?
ご回答のほどよろしくお願いいたします。
-
ご質問ありがとうございます。
U+200F は Unicode の制御文字の1つで、 Right-to-left mark (RLM) 、すなわち右から左に向かって文字を記述するための制御文字となります。
実際に見てみますと、送られてきたメッセージにおいて該当箇所は「08-09-2022T09:02:32.083476200Z」 と記載されているのが確認できるのに対し、 API からの出力から制御文字を除外してみると「2022-09-08T09:02:32.083476200Z」と、日付部分の順番が異なることがわかります。
これは、おそらくイギリス式の日付表記である「日→月→年」に見た目を合わせるために、先の制御文字を用いて日付部分の情報の並び順を逆転させているものと考えられます。このような目に見えない制御文字が API 出力においては可視化されて出力された形となります。
以上、よろしくお願いいたします。
-
お世話になっています。
ご回答ありがとうございました。
以前もしかしたら一度聞いているかもしれませんが、
APIの出力jsonファイルの文字コードは Unicode
文字符号化形式は utf-8
で間違いなかったでしょうか?
上記 U+200F(RLM) を除外するため(プログラムエラー発生のため)
正規表現指定で16進数の [U+200F] を指定してみたのですが、
うまくいきません。
ファイルはjson を直接見ており、使用しているソフトは Visual Studio Code です。
VSCode も設定は utf-8 です。
手操作で除くことは可能ですが、 [U+200F] を検索するにはどのようにすればよろしいでしょうか?
恐縮ですがご教示いただけると助かります。
サインインしてコメントを残してください。
コメント
4件のコメント