Python 模块高级应用与 Unicode 货币符号处理
1. Unicode 货币符号的使用
在 Python 中,某些模块的函数默认使用美元符号,但也支持其他货币符号,允许传递非 ASCII 字符的 Unicode 字符。例如,Unicode 编码为 00A3(十六进制)的字符是英镑符号,00A5(十六进制)是日元符号。货币符号的编码方式有以下几种:
- 解码后的 Unicode 字符值 :以字符串形式表示,使用 Unicode 转义字符或十六进制表示(为了与 2.x 版本兼容,在 Python 3.3 的字符串字面量中应使用前导字符 u)。
- 原始字节字符串编码 :以字节字符串形式编码,在传递前进行解码,使用十六进制转义字符(为了与 3.x 版本兼容,在 Python 2.x 的字符串字面量中应使用前导字符 b)。
- 实际的货币符号字符 :将其放置在程序文本中,并在源代码中声明字符编码类型。
以下是一个测试不同货币符号的示例代码,将其写入 format_currency.py 文件中:
from __future__ import print_function # 2.x
from formats import money
X = 54321.987
print(money(X), money(X, 0, ''))
print(money(X, currency=u'\xA3'), money(X, currency=u'\u00A5'
超级会员免费看
订阅专栏 解锁全文
71

被折叠的 条评论
为什么被折叠?



