データキャプチャ製品によってメインフレームからトランザクションデータ(json形式)が送信されています。 JSONでは、トランザクションタイムスタンプ相当のメインフレームtimeOfDay(TOD)の値を送信することになっています。 代わりに値 "STCK" を送信するのでは: "00d2fde04305b72642"Javaは16進UTF8をUTF-16に変換します
彼らは代わりに "STCK" 私を送っている: "\ u00c3 \ u0092 \ u00c3 \ u00bd \ u00c2 \ u00aa \ u00c2 \ u009e \ u001c \ u00c2 \ u0089 \ u001cG」
彼らは
を述べ、なぜ私はそれらを尋ねた 『上(』 STCK 『:』 00d2fde04305b72642" )は、バイナリデータをUTF-16形式で、我々は変換しているので、JSONのバイナリデータとうまく動作しません。それを16進UTF-8形式に変換して、それをあなたの側のUTF-16に戻すことができます。 "
これはJavaでこれを行うのに役立つ必要があります。私は複数の質問を見ましたが、正確に何もしようとしていることは、16進UTF-8をUTF-16に変換することです。うまくいけば "00d2fde04305b72642"のようになります
私はどのようにこの結果得られたTOD値( "stck": "00d2fde04305b72642")をjavaを使用してトランザクションのタイムスタンプに変換して、その部分について説明します。
私は上記の背景を与えているが、基本的に私の質問は、上記の六角UTF-8値(\ u00c3 \ u0092 \ u00c3 \ u00bd \ u00c2 \ u00aa \ u00c2 \ u009e \ u001cの\のu00c2を変換する方法であります\ u0089 \ u001cG)を00d2fde04305b72642の値に...使用しています 00d2fde04305b72642に変換する前にこのUTF-8をUTF-16に変換する必要があるかどうかは重要ではない – garryS
これらの文字列は単一の値?この番号で行われた卑劣な腐敗を解明する私の推測は、 'd2fde04305b72642'ではなく' d2fdaa9e1c891c47'です。 2つの異なるタイムスタンプの情報を含めることは可能でしょうか? – erickson
_ "バイナリデータUTF-16形式"という用語は非常に疑わしいです - UTF-8とUTF-16は、タイムスタンプが文字列としてフォーマットされていない限り、タイムスタンプなどのバイナリ情報ではなく、文字列を表現する方法です。誰かがバイナリ値を取得し、それをUTF-8として解釈し、それをUTF-16としてエンコードした場合、可能な数のバイナリ文字列ではうまくいかないため、ここでは何が起こっているのかは不明です。また、想定されるUTF-16文字列の最後にある 'G'は何ですか?有効な質問のためにここに十分な情報がないようです。 –