Java UUIDオブジェクトを.NET GUID文字列に変換する

ヤバダバドゥ:

java.util.UUIDオブジェクトを受け取るJavaメソッドで、このオブジェクトを.NET / C#形式(CSUUID)の文字列として表示したいと思います。

現在、Java形式(JUUID)でのみ表示できます。

static String GetStringFromUuid (java.util.UUID myUuid){
    return myUuid.toString();
}

現在の出力:「46c7220b-1f25-0118-f013-03bd2c22d6b8」

望ましい出力: "1f250118-220b-46c7-b8d6-222cbd0313f0"


環境:

  • UUIDはMongoDBに格納され、Java ETLプログラムTalend(tMongoDBInputコンポーネント)を使用して取得されます。

  • Javaプログラムでは、メソッドはすでにUUIDをjava.util.UUIDオブジェクトとして受け取ります(プログラムのBinDataに直接アクセスすることはできません)。

  • 他のプログラムがすでにC#形式のUUIDを表示しているため、C#形式でUUIDを表示する必要があります。
  • 役立つ場合がある場合、サンプルデータは次のようにMongoDBに格納されます。BinData(3、 "GAElHwsix0a41iIsvQMT8A ==")
  • Javaでのソリューションが必要です。
Evk:

GUIDは16バイトで表されます。さまざまな理由により、Javaと.NETはどちらも、を呼び出すときにこれらのバイトを順番に出力するだけではありませんtoStringたとえば、質問からbase-64でエンコードされたGUIDを見ると、次のようになります。

GAElHwsix0a41iIsvQMT8A==

16進形式では次のようになります。

18-01-25-1f-0b-22-c7-46-b8-d6-22-2c-bd-03-13-f0

Java toStringはこれを生成します(上記のようにフォーマットした場合):

46-c7-22-0b-1f-25-01-18-f0-13-03-bd-2c-22-d6-b8

.NET ToStringはこれを生成します。

1f-25-01-18-22-0b-46-c7-b8-d6-22-2c-bd-03-13-f0

これをしばらく見ると、javaと.NETの両方の文字列が同じ16バイトを表しているが、出力文字列でのこれらのバイトの位置が異なっていることがわかります。したがって、Java表現から.NETに変換するには、それらを並べ替えるだけです。サンプルコード(私はjavaを知らないので、おそらくもっと良い方法で実行できるかもしれませんが、それでも望ましい結果を達成するはずです):

static String GetStringFromUuid (java.util.UUID myUuid){
    byte[] bytes = new byte[16];
    // convert uuid to byte array
    ByteBuffer bb = ByteBuffer.wrap(bytes);
    bb.putLong(myUuid.getMostSignificantBits());
    bb.putLong(myUuid.getLeastSignificantBits());
    // reorder
    return String.format("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
        bytes[4],bytes[5],bytes[6],bytes[7],
        bytes[2],bytes[3],bytes[0],bytes[1],
        bytes[15],bytes[14],bytes[13],bytes[12],
        bytes[11],bytes[10],bytes[9],bytes[8]);
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaオブジェクトをXML文字列に変換する

分類Dev

jirajson文字列をJavaオブジェクトに変換する

分類Dev

Xamarinでjson文字列を.NETオブジェクトに変換する

分類Dev

JSON文字列をJavaの別のJavaオブジェクトに変換する

分類Dev

Java文字列をJSONオブジェクトに変換する方法

分類Dev

Java文字列をDateオブジェクトに変換する方法

分類Dev

Java-文字列を有効なURIオブジェクトに変換する

分類Dev

Javaでオブジェクトを文字列に変換する方法

分類Dev

次のjson文字列をjavaオブジェクトに変換する方法は?

分類Dev

Javaで文字列をTimeオブジェクトに変換する方法は?

分類Dev

Java Springでオブジェクトを文字列に変換する方法

分類Dev

JSON文字列をJSONオブジェクトにSpark変換する(Java)

分類Dev

Java文字列をEDNオブジェクトに変換する方法は?

分類Dev

Java8で文字列をDateTimeオブジェクトに変換する

分類Dev

Java文字列をhttpPOSTのJSONオブジェクトに変換

分類Dev

Javaオブジェクトで文字列配列JSONを変換する方法

分類Dev

JsonオブジェクトをJavaオブジェクトに変換する

分類Dev

JAVA文字列をJSONオブジェクトに変換するときにNullPointerExceptionを取得する

分類Dev

Javaでオブジェクト配列を文字列配列に変換する方法

分類Dev

どのようにJavaでのクエリオブジェクトを文字列に変換するには?

分類Dev

JSON文字列をJava MEのオブジェクトに変換しますか?

分類Dev

JSON文字列をJavaオブジェクトに変換しますか?

分類Dev

Java-xmlオブジェクトを文字列に変換します

分類Dev

Javaは文字列を日時オブジェクトに変換します

分類Dev

値の文字列をJavaのオブジェクトに変換します

分類Dev

オブジェクトをGUIDに変換するJson.NETカスタムValueProvider

分類Dev

Javaを使用して2つの配列をjson文字列オブジェクトに変換する

分類Dev

オブジェクトのArrayListをこのオブジェクトのArrayListに変換するJavaの文字列名

分類Dev

Java 8を使用して文字列をオブジェクトのリストに変換する

Related 関連記事

  1. 1

    JavaオブジェクトをXML文字列に変換する

  2. 2

    jirajson文字列をJavaオブジェクトに変換する

  3. 3

    Xamarinでjson文字列を.NETオブジェクトに変換する

  4. 4

    JSON文字列をJavaの別のJavaオブジェクトに変換する

  5. 5

    Java文字列をJSONオブジェクトに変換する方法

  6. 6

    Java文字列をDateオブジェクトに変換する方法

  7. 7

    Java-文字列を有効なURIオブジェクトに変換する

  8. 8

    Javaでオブジェクトを文字列に変換する方法

  9. 9

    次のjson文字列をjavaオブジェクトに変換する方法は?

  10. 10

    Javaで文字列をTimeオブジェクトに変換する方法は?

  11. 11

    Java Springでオブジェクトを文字列に変換する方法

  12. 12

    JSON文字列をJSONオブジェクトにSpark変換する(Java)

  13. 13

    Java文字列をEDNオブジェクトに変換する方法は?

  14. 14

    Java8で文字列をDateTimeオブジェクトに変換する

  15. 15

    Java文字列をhttpPOSTのJSONオブジェクトに変換

  16. 16

    Javaオブジェクトで文字列配列JSONを変換する方法

  17. 17

    JsonオブジェクトをJavaオブジェクトに変換する

  18. 18

    JAVA文字列をJSONオブジェクトに変換するときにNullPointerExceptionを取得する

  19. 19

    Javaでオブジェクト配列を文字列配列に変換する方法

  20. 20

    どのようにJavaでのクエリオブジェクトを文字列に変換するには?

  21. 21

    JSON文字列をJava MEのオブジェクトに変換しますか?

  22. 22

    JSON文字列をJavaオブジェクトに変換しますか?

  23. 23

    Java-xmlオブジェクトを文字列に変換します

  24. 24

    Javaは文字列を日時オブジェクトに変換します

  25. 25

    値の文字列をJavaのオブジェクトに変換します

  26. 26

    オブジェクトをGUIDに変換するJson.NETカスタムValueProvider

  27. 27

    Javaを使用して2つの配列をjson文字列オブジェクトに変換する

  28. 28

    オブジェクトのArrayListをこのオブジェクトのArrayListに変換するJavaの文字列名

  29. 29

    Java 8を使用して文字列をオブジェクトのリストに変換する

ホットタグ

アーカイブ