最近、私はPythonソースコードエンコーディング、特にPEP 263とPEP 3120について読んでいます。Pythonでユニコード変数を定義する
# coding:utf-8
s = 'abc∂´ƒ©'
ƒ = 'My name is'
ß = '˚ß˙ˆ†ˆ∆ ßå®åø©ˆ'
print('s =', s)
print('ƒ =', ƒ, 'ß =', ß)
このコードはPython2.7でSyntaxError
でのpython3が、結果のために正常に動作します:
は、私は、次のコードを持っています。
これはおそらくソースコードのエンコーディングとは関係ないかもしれないと私は理解しています。
Python2でUnicode変数名をサポートする方法があるかどうかを知りたいと思います。
PEPが正確にどのような実用的な問題を解決しようとしているのか、提案された解決策をどのように(そしてどこで)活用するのか、難しい時を感じています。私は同じにいくつかの議論を読んだことがあるが、彼らはむしろ私の質問への正しい構文の説明答えを提示しない:
- Correct way to define Python source code encoding
- Working with utf-8 encoding in Python source
- Where does this come from: -*- coding: utf-8 -*-
- Is '# -*- coding: utf-8 -*-' also a comment in Python?
私は申し訳ありませんが、私は「の意味を理解することができません127以上のバイト?あなたは文字のASCIIコードが127を超えていると言っていますか? –
はい。 ASCIIはバイト0〜127の意味を定義します。表示されるほとんどすべてのエンコードは、ASCIIと同じ値をエンコードします。しかし、127を超える値はASCIIではなく、通常は異なるエンコーディングでは完全に異なる文字です。 – RemcoGerlich
これは古典的な記事です:https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character -sets-no-excuses /。 – RemcoGerlich