2011-06-15 9 views
2

gdataのPythonモジュールのCryptoモジュールを使用してGAEで2.5を使用しています。私は文字列にhashAndSignを使用することができますが、この関数は 'B'の符号なし文字のarray.arrayを返します。array.array.tostring()のPython 2.5バージョン?

私はまだそれをすべて一緒得る上で実験していますが、私は今でつまずくよ一つのことを得ている:

array('B', [120, 231, 49, 2, 125, 143, 213, 14, 214, 66, 52, 11, 124, 154, 99, 179]) 

のような文字列表現であることを:

方法
'x\xe71\x02}\x8f\xd5\x0e\xd6B4\x0b|\x9ac\xb3' 

配列をそのような文字列にすることはできますか?

私はこれが簡単なことだと知っていますが、それは私を突っ込んでいます。

私はこのコードを使用して、署名した文字列を検証するために.encode( 'base64')をクライアントアプリケーションに送信できます。

+1

コードを適切にフォーマットしてください。ありがとうございます! – Trufa

答えて

0

あなたの質問のタイトル困惑している。 array.arrayオブジェクトのtostring()方法は非常に長い時間のために利用されている:

Python 1.5.2 (#0, Apr 13 1999, 10:51:12) [MSC 32 bit (Intel)] on win32 
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam 
>>> import array 
>>> q = array.array('B', [120, 231, 49, 2, 125, 143, 213, 14, 214, 66, 52, 11, 124, 154, 99, 179]) 
>>> q.tostring() 
'x\3471\002}\217\325\016\326B4\013|\232c\263' 
>>> 

:はい、そうです、昔、repr()は進、進をしませんでした。

実際にPython 2.5で何を試しましたか?結果は何でしたか?完全なスタックトレースとエラーメッセージをコピーしてあなたの質問の編集に貼り付けてください。

+0

人は私たちの答えの違いは何ですか?ではなぜ私は答えましたか? – tony

+0

@scr:あなたのdiffプログラムは壊れていますか? 2つのこと:(1)OPがtostring()を言及していないかのように答えた。(2)コードとスタックトレースを供給して問題を解決できるようにした。なぜあなたは@ DSMの答えのサブセットとして答えましたか? –

+0

私は@ DSMよりも合理的な提案をしていると思います。さて、あなたの答えは私のものより何が良いですか?とにかく大丈夫、それでは、私は気にしません。 – tony

2

何らかの理由で.tostring()メソッドが利用できない場合、この配列は通常の配列array.arrayとは異なると思われます.tostring()は、少なくともpython 2.4 - 次に

>>> import array 
>>> q = array.array('B', [120, 231, 49, 2, 125, 143, 213, 14, 214, 66, 52, 11, 124, 154, 99, 179]) 
>>> ''.join(chr(c) for c in q) 
'x\xe71\x02}\x8f\xd5\x0e\xd6B4\x0b|\x9ac\xb3' 

が有効です。

0

それともarray.tostring方法: "?(array.array.tostringのPythonのバージョン2.5)"

>>> a = array.array('B', [120, 231, 49, 2, 125, 143, 213, 14, 214, 66, 52, 11, 1 
24, 154, 99, 179]) 
>>> a.tostring() 
'x\xe71\x02}\x8f\xd5\x0e\xd6B4\x0b|\x9ac\xb3' 
関連する問題