【发布时间】:2014-01-14 02:02:55
【问题描述】:
- 它们有什么区别?
-
Python 3.0 使用文本和(二进制)数据的概念,而不是 Unicode 字符串和 8 位字符串。所有文本都是 Unicode;然而,编码的 Unicode 被表示为二进制数据。
谢谢。
【问题讨论】:
标签: python unicode utf-8 binary ascii
Python 3.0 使用文本和(二进制)数据的概念,而不是 Unicode 字符串和 8 位字符串。所有文本都是 Unicode;然而,编码的 Unicode 被表示为二进制数据。
谢谢。
【问题讨论】:
标签: python unicode utf-8 binary ascii
您需要了解的有关 unicode 和编码的所有信息都在这里 - 它与 Python 无关:http://www.joelonsoftware.com/articles/Unicode.html
wrt/ 第二个问题:Python3 有两种“字符串”:文本字符串(unicode)和二进制字符串(又名bytestrings),它们不是 unicode。对文本字符串(iow unicode)进行编码会产生二进制字符串。
【讨论】:
Unicode 是一种 python 数据类型,用于存储所有个字符。
UTF-8 是一种可变宽度编码,可以表示 Unicode 字符集中的每个字符。它旨在向后兼容 ASCII,并避免 UTF-16 和 UTF-32 中字节顺序和字节顺序标记的复杂性。
ASCII, 美国信息交换标准代码 (ASCII /ˈæski/ ass-kee) 是一种字符编码方案,最初基于英文字母表,它编码 128 个指定字符 - 数字 0 -9、字母 az 和 AZ、一些基本的标点符号、一些源自电传打字机的控制代码和一个空格 - 输入 7 位二进制整数。
这三种是同一事物的不同形式:String,又名Text。
Ascii 用于这样的纯文本,但 unicode 用于更全面的文本,例如:
∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫
⎪⎢⎜│a²+b³ ⎟⎥⎪
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪
⎪⎢⎜⎷ c₈ ⎟⎥⎪
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
⎪⎢⎜ ∞ ⎟⎥⎪
⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪
⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
【讨论】: