2016-12-01 5 views
0

私はSQLサーバーのテーブルから情報を抽出するためにRpiを使用していますが、現在のところ、Pythonで次のコード化されていないデータをデコードするためのいくつかの問題があります。u'\U00300032\U00360031\U0030002d\U002d0039\U00310032'これは、私はこのエラーを取得する変数へ:ユニコードデータをデコードするPython

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-9: end of string in escape sequence

私は、トピックに関する非常に多くの情報を読んでいるが、私は有用な情報を見つけることができません、私が欲しいのは、私はここで何かが欠けて文字列type.Amに変換するのですか?

+0

"私は変数に割り当てようとしています"。このリテラル文字列を変数に代入しようとしていますか?私たちにあなたのコードを教えてもらえますか? –

+0

この答えは、 '' Unicodeエラー "unicodeescape"コーデックはバイトをデコードできません。 "(http://stackoverflow.com/a/1347854/1248974)、' u 'を 'r' ' – davedwards

+0

Jean、これは似たようなものです。Pythonからquerryを実行して、私が要求するすべてのデータのリストを受け取っています。そのうちの1つは、Pythonがrepontする日付データです。例として 'u' \ U00300032 \ U00360031 \ U0030002D \ U002D0039 \ U00310032 '**と入力してください。** date_sql = sql_list [3]ここで、sql_list [3]はU' \ U00300032 \ U00360031 \ U0030002d \ U002d0039 \ U00310032です。 ダウンシフト私は良い答えだと思います。問題は、エラーが最初に表示されたり、現時点でうまくいかないために情報を操作できないことです。 – Roberto

答えて

0

u'\U0010FFFF'は、最大のUnicodeコードポイントです。あなたの表現は、データがUTF-32LEデコードされた意味が、Pythonの(少なくとも2.7.12は、)与えるだろう:

UnicodeDecodeError: 'utf32' codec can't decode bytes in position 0-3: code point not in range(0x110000) 

を元のデータはUTF-32LEのバイトとして書き出さとUTFとして正しく復号された場合-16LE、あなたはあなたの日付データを入手します:

>>> data = '\x32\x00\x30\x00\x31\x00\x36\x00\x2d\x00\x30\x00\x39\x00\x2d\x00\x32\x00\x31\x00' 
>>> data.decode('utf-16le') 
u'2016-09-21' 
関連する問題