回答:
u in u'Some String'
は、文字列がUnicode文字列であることを意味します。
Q:私はひどい、ひどい急いでいて、Google検索からここに着陸しました。このデータをファイルに書き込もうとすると、エラーが発生します。この2番目の方法としては、最も単純な、おそらく欠陥のある、解決策が必要です。
A:あなたは本当にジョエルの読むべきUnicodeとキャラクタセットについて知っておくべき、絶対に絶対最小すべてのソフトウェア開発者を(言い訳!)の文字セットのエッセイ。
Q:時間コードplsを使用しないでください
罰金。str('Some String')
またはを試してください'Some String'.encode('ascii', 'ignore')
。しかし、あなたは本当に上の答えと議論の一部をお読みくださいUnicode文字列に変換し、この文字エンコーディングに優れ、優れた、プライマーを。
私の推測では、これは「Unicode」を示していると思いますが、それは正しいですか。
はい。
もしそうなら、いつから利用できますか?
Python2.x。
Python 3.xでは、文字列はデフォルトでUnicodeを使用し、u
プレフィックスは必要ありません。注: Python 3.0-3.2では、uは構文エラーです。Python 3.3以降では、2/3互換のアプリを簡単に作成できるようになりました。
u
接頭辞を使用するのは、Python 3の構文エラーです。
six.text_type()
まだ3 を使用している(できれば非常に少ない)人数でどこでも使用するかどうかを判断する必要があるためです。[012] -少なくとも情報があるので、選択できます。
requests
出力に変なチャー症候群があったため、ここに来ました。response.text
適切にデコードされた文字列が得られると思いましたが、出力では、ドイツ語のウムラウトがあったはずの面白い二重文字が見つかりました。
ターンが出てresponse.encoding
何とか空だったので、response
適切にコンテンツをデコードする方法を知りませんでしたし、ちょうどASCII(私は推測)としてそれを扱います。
私の解決策は、「response.content」で生のバイトを取得し、それに手動で適用decode('utf_8')
することでした。その結果がシェーネ・ウムラウテでした。
正しくデコードされた
毛皮
対不適切にデコード
fĂźr
人間向けの文字列はすべてu ""を使用する必要があります。
次の考え方は、Python文字列を処理するときに非常に役立ちます。すべての Pythonマニフェスト文字列はu""
構文を使用する必要があります。""
構文は、バイト配列のためです。
バッシングが始まる前に、説明させてください。ほとんどのPythonプログラムは""
、文字列の使用から始まります。しかし、彼らはインターネット以外のドキュメントをサポートする必要があるため、使用を開始する"".decode
と、突然、これとそれをデコードすることに関してどこでも例外が発生します-すべて""
が文字列の使用のためです。この場合、Unicodeはウイルスのように機能し、大混乱を引き起こします。
しかし、私のルールに従えば、この感染はありません(すでに感染しているためです)。
bash -c "echo Shouldn\\'t you use b\\\"...\\\" for byte arrays?"
u""
。
それはユニコードです。
変数を間に置くだけ str()
にで問題なく動作します。
ただし、次のような2つのリストがある場合:
a = ['co32','co36']
b = [u'co32',u'co36']
をチェックset(a)==set(b)
するとFalseになりますが、次のようにすると:
b = str(b)
set(a)==set(b)
これで、結果はTrueになります。
str()
またはu'€'.encode()
)をエンコードしないでください。文字列に非ASCIIが含まれている場合、ユーザーはUnicodeEncodeExceptionを受け取ります。
b = str(b)
の文字列repr()
、つまりb = "[u'co32', u'co36']"
。その後set(a)==set(b) = False