python: lower() 德语变音符号

标签 python unicode diacritics lowercase case-folding

我在将带有变音符号的大写字母转换为小写字母时遇到问题。

print("ÄÖÜAOU".lower())

A、O 和 U 得到正确转换,但 Ä、Ö 和 Ü 保持大写。有什么想法吗?

第一个问题已通过 .decode('utf-8') 解决,但我还有第二个问题:

# -*- coding: utf-8 -*-
original_message="ÄÜ".decode('utf-8')
original_message=original_message.lower()
original_message=original_message.replace("ä", "x")
print(original_message)

追溯(最近的调用最后): 文件“Untitled.py”,第 4 行,位于 original_message=original_message.replace("ä", "x") UnicodeDecodeError: 'ascii' 编解码器无法解码位置 0 中的字节 0xc3:序号不在范围内 (128)

最佳答案

除非您使用纯 ASCII,否则您需要将其标记为 unicode 字符串;

> print(u"ÄÖÜAOU".lower())

äöüaou

在处理变量时它的工作原理是一样的,这完全取决于分配给变量的类型。

> olle = "ÅÄÖABC"
> print(olle.lower())
ÅÄÖabc

> olle = u"ÅÄÖABC"
> print(olle.lower())
åäöabc

关于python: lower() 德语变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15052830/

相关文章:

python - 如何在Python中使用unicode字符串的正则表达式?

python raw_input 奇怪的行为,带有包含字符串的重音

MySql Unicode 排序规则 utf8mb4_german2_ci 未找到 *** 德语元音变音排序规则 ***

python - 在 Python 中将集合作为参数传递

python - 连接表中的列值 - pandas

android - 错误的高棉语 Unicode 字符串

java - 将符号、重音字母转换为英文字母

python - Amazon Ubuntu Server (EC2) 上的 Selenium 未打开某些链接,但在本地计算机上运行良好

python - Jupyter笔记本以灰度而不是彩色显示matplotlib pcolor图像

Python,如何在响应中访问 unicode 变量名称