0

Python 3.3 で C char ポインター データ型を使用しようとしました。次のコードを使用しました:

    from ctypes import *

    firstname = c_char_p("I am a noob programmer".encode("utf-8"))
    print(firstname.value)

私の望む出力は

    I am a noob programmer

しかし、私が得たのは

    b'I am a noob programmer'

Python 2.6用に作成されたチュートリアルに従っています。エンコード機能のパラメータとして「ascii」を使用しました。また、エンコードの代わりに「bytes()」も試しました。しかし、どちらの時点でも違いはありません。目的の出力が得られないのはなぜですか? 希望どおりの出力を取得するにはどうすればよいですか。

誰か私が理解するのを手伝ってください..

4

1 に答える 1

1

strPython 3では、 のように動作させたい場合は、デコードして に戻す必要がありますstr

print(firstname.value.decode("utf-8"))
于 2013-04-09T13:32:39.887 に答える