2009-04-28 15 views
2

Pythonで文字列の長さを取得し、その整数をバイト配列に変換する正しい方法は何ですか?テストのためにコンソールにそれを印刷する正しい方法は何ですか?ヘクスとして出力バイトを意志IronPython - バイト配列にintを変換する

byte[] buffer = System.BitConverter.GetBytes(string.Length) 
print System.BitConverter.ToString(buffer) 

:.NETを使用して

答えて

1

。 IronPythonの構文をクリーンアップする必要があります。

+0

+1ありがとうございました。私は純粋なPython構文が何であるかを知りたがっていますが、私はPython 3のドキュメントを実行し続けています。 – BuddyJoe

3

structを使用してください。

import struct 

print struct.pack('L', len("some string")) # int to a (long) byte array 
+0

+1。申し訳ありませんが、長いデータ型は無制限です。 http://docs.python.org/library/stdtypes.html 6バイトに値(長さ)を格納する必要があります。これを説明する最良の方法は何ですか?私は小さな数字でバイトを埋め込む必要があります。 – BuddyJoe

+0

structモジュールで使用されるデータ型は、Pythonで使用されるものと同じではありません。この場合、 'long'は4バイトです。 6バイトは整数では奇妙な長さですが、struct.pack( ' rmmh

+0

struct.packの[ord(x) 'L'、)]?これを使用して現在のエポックを変換すると、 'e0 \ xf1U'のような文字列が得られ、ordを使用すると[100、48、241、85]が得られます。 – parvus

関連する問題