You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在QPython中用脚本将普通字符串转为特殊粗体格式?

解决方案:将普通字符串转换为Unicode粗体格式并保存

你的核心问题在于文件保存时未指定UTF-8编码,导致QPython无法正确写入特殊Unicode字符。以下是修正后的可行代码:

def convert_to_bold(text):
    converted_chars = []
    for char in text:
        if char.isupper():
            # 大写字母映射到Unicode粗体范围(U+1D400 至 U+1D419)
            converted_chars.append(chr(ord(char) + 119743))
        elif char.islower():
            # 小写字母映射到Unicode粗体范围(U+1D41A 至 U+1D433)
            converted_chars.append(chr(ord(char) + 119743))
        else:
            # 非字母字符(空格、符号等)保持原样
            converted_chars.append(char)
    return ''.join(converted_chars)

# 执行转换并保存
original_str = "Hello World"
bold_str = convert_to_bold(original_str)

# 关键:写入文件时指定UTF-8编码
with open("output.txt", "w", encoding="utf-8") as file:
    file.write(bold_str)

print("转换完成,结果已保存到output.txt")

为什么之前的代码失败?

在Android的QPython环境中,默认文件编码并非UTF-8,直接写入特殊Unicode字符会导致乱码或字符丢失。通过encoding="utf-8"参数强制指定编码,就能确保粗体字符被正确保存。

扩展:其他特殊字体格式

如果需要转换为斜体、粗斜体等格式,只需调整偏移量即可:

  • 斜体:大写偏移119795,小写偏移119789
  • 粗斜体:大写偏移119859,小写偏移119853

示例(斜体转换):

def convert_to_italic(text):
    converted_chars = []
    for char in text:
        if char.isupper():
            converted_chars.append(chr(ord(char) + 119795))
        elif char.islower():
            converted_chars.append(chr(ord(char) + 119789))
        else:
            converted_chars.append(char)
    return ''.join(converted_chars)

内容的提问来源于stack exchange,提问作者Troy9090

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 03:38:26