JavaおよびC#-長い変換の違いからバイト配列

マクシムゴンター:

これは私には奇妙です:Javaで実行すると

byte[] data = new byte[] { 50, -106, 40, -22, -94, -119, -52, 8 };
ByteBuffer bb = ByteBuffer.wrap( data );
System.out.println( bb.getLong() );

結果は3645145936617393160

C#で実行すると

//unsigned values (signed&0xff)
byte[] bytes = new byte[] { 50, 150, 40, 234, 162, 137, 204, 8 };
long l = BitConverter.ToInt64(bytes, 0);
System.Console.Write(String.Format("{0}\n", l));
System.Console.ReadKey();

結果は634032980358633010です

これを理解するのを手伝ってくれる?
ありがとう!

SLaks:

これがエンディアンの違いです。

バイト配列を逆にすると、期待どおりに機能します。

BitConverter.ToInt64(new byte[] { 8, 204, 137, 162, 234, 40, 150, 50 }, 0)

Javaでエンディアンを設定するには、を呼び出しbb.order(ByteOrder.LITTLE_ENDIAN)ます。

ちなみに、これらのものを操作する最も簡単な方法は、LINQPadを使用することです

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

文字列およびバイト配列からのBigInteger値の違い

分類Dev

JavaおよびC#の多次元配列

分類Dev

JavaおよびC#の文字列

分類Dev

Java-文字列配列から長い配列への変換

分類Dev

C#コードのJavaへの移行、符号なしshortおよびバイト配列変換

分類Dev

JavaとC#および.NETの違い

分類Dev

DateTimeをバイト配列に変換するときのC#とJavaの違い

分類Dev

バイト配列C#でランダムな長さの文字列を変換するにはどうすればよいですか?

分類Dev

C ++およびJava配列の宣言/定義:違い

分類Dev

JavaおよびC#のようなプロパティ

分類Dev

C#でJava ReentrantLockおよびConditionに最適ですか?

分類Dev

StringのJavaおよびC#の実装

分類Dev

Java(またはC#)でのsimplifyおよびctx-solver-simplify

分類Dev

C#とC / C ++でのバイナリからフロートへの変換の違い

分類Dev

C、C ++、Java、およびC#での事前および事後増分演算子の動作

分類Dev

C#では、数値配列のバイトへの一般的な変換、およびその逆の変換

分類Dev

Java文字列から長い変換

分類Dev

C#文字列とVARCHARおよびNVARCHAR

分類Dev

C#の仮想および新規

分類Dev

C#およびSQLの動的where句

分類Dev

不明な長さのバイト配列をJavaストアから取得しています

分類Dev

C#の名前空間とJavaおよびPythonのインポート

分類Dev

長い数字の文字列をCSVファイルから配列に変換するにはどうすればよいですか?

分類Dev

R:c ++ / c#/ javaなどからの+ =(プラス等しい)および++(プラスプラス)相当?

分類Dev

C ++およびC#からC ++ DLLを呼び出す

分類Dev

C#およびJavaでのメソッドのオーバーロード

分類Dev

ShiftおよびBitwareAND演算子を使用してバイト配列C#から値を解析する

分類Dev

より長いバイト配列のASCIIへの文字列

分類Dev

より長いバイト配列のASCIIへの文字列

Related 関連記事

  1. 1

    文字列およびバイト配列からのBigInteger値の違い

  2. 2

    JavaおよびC#の多次元配列

  3. 3

    JavaおよびC#の文字列

  4. 4

    Java-文字列配列から長い配列への変換

  5. 5

    C#コードのJavaへの移行、符号なしshortおよびバイト配列変換

  6. 6

    JavaとC#および.NETの違い

  7. 7

    DateTimeをバイト配列に変換するときのC#とJavaの違い

  8. 8

    バイト配列C#でランダムな長さの文字列を変換するにはどうすればよいですか?

  9. 9

    C ++およびJava配列の宣言/定義:違い

  10. 10

    JavaおよびC#のようなプロパティ

  11. 11

    C#でJava ReentrantLockおよびConditionに最適ですか?

  12. 12

    StringのJavaおよびC#の実装

  13. 13

    Java(またはC#)でのsimplifyおよびctx-solver-simplify

  14. 14

    C#とC / C ++でのバイナリからフロートへの変換の違い

  15. 15

    C、C ++、Java、およびC#での事前および事後増分演算子の動作

  16. 16

    C#では、数値配列のバイトへの一般的な変換、およびその逆の変換

  17. 17

    Java文字列から長い変換

  18. 18

    C#文字列とVARCHARおよびNVARCHAR

  19. 19

    C#の仮想および新規

  20. 20

    C#およびSQLの動的where句

  21. 21

    不明な長さのバイト配列をJavaストアから取得しています

  22. 22

    C#の名前空間とJavaおよびPythonのインポート

  23. 23

    長い数字の文字列をCSVファイルから配列に変換するにはどうすればよいですか?

  24. 24

    R:c ++ / c#/ javaなどからの+ =(プラス等しい)および++(プラスプラス)相当?

  25. 25

    C ++およびC#からC ++ DLLを呼び出す

  26. 26

    C#およびJavaでのメソッドのオーバーロード

  27. 27

    ShiftおよびBitwareAND演算子を使用してバイト配列C#から値を解析する

  28. 28

    より長いバイト配列のASCIIへの文字列

  29. 29

    より長いバイト配列のASCIIへの文字列

ホットタグ

アーカイブ