将 Unicode 转换为 python [重复]

2023-12-04

可能的重复:
将 Unicode 转换为 UTF-8 Python

我是一个非常新的 Python 程序员,正在编写我的第一个脚本。该脚本从 plist 字符串中提取文本,然后对其执行一些操作,然后将其打包为 HTML 电子邮件。

从一些条目中,我收到了可怕的 Unicode“outside ordinal 128”错误。

在阅读了尽可能多的有关编码和解码的内容后,我知道获得编码对我来说很重要,但我很难理解何时或如何准确地执行此操作。

首先使用 plistlib 引入有问题的变量,然后将其从 markdown 转换为 HTML,如下所示:

entry = result['Entry Text']
donotecontent = markdown2.markdown(entry)

后来,它在电子邮件中这样写:

html = donotecontent + '<br /><br />' + var3
part1 = MIMEText(html, 'html')
msg.attach(part1)

我的问题是,确保此内容中的 Unicode 字符不会导致抛出错误的最佳方法是什么。我不想忽视这些角色。


抱歉我的英语很蹩脚。我每天都说中文/日文,并使用中日韩字符。 Ceron几乎解决了这个问题,所以我不会讲如何使用encode()/decode() again.

当我们使用str()要转换任何 unicode 对象,它会将 unicode 字符串编码为字节数据;当我们使用unicode()铸造str对象,它将字节数据解码为 un​​icode 字符。

并且,编码必须是从返回的sys.getdefaultencoding().

在默认情况下,sys.getdefaultencoding()默认返回 'ascii',执行时可能会抛出编码/解码异常str()/unicode()铸件。

如果你想通过以下方式进行 str unicode 转换str() or unicode(),并且使用“utf-8”进行隐式编码/解码,可以执行以下语句:

import sys    # sys.setdefaultencoding is cancelled by site.py
reload(sys)    # to re-enable sys.setdefaultencoding()
sys.setdefaultencoding('utf-8')

这将导致稍后执行str() and unicode()使用 utf-8 编码转换任何基本字符串对象。

但是,我更愿意使用encode()/decode()明确地,因为它使我的代码维护更容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Unicode 转换为 python [重复] 的相关文章

随机推荐

  • setTimeout 如何防止潜在的堆栈溢出

    一个例子 var list readHugeList var nextListItem function var item list pop if item setTimeout nextListItem 0 this line 如何使用s
  • 将 SHA1 转换为正常形式

    我有一个数据库 其中每个密码都是通过 SHA1 传递的 有时 我想去用户仪表板看看感觉如何 有没有办法 我可以将 SHA1 转换为正常形式以用于测试目的 谢谢 如果 正常形式 的意思是 我可以检索创建给定哈希的字符串 那么答案是否定的 它应
  • mkdir() 未将 chmod 设置为 0777

    为什么 mkdir 不将 CHMOD 设置为0777 mkdir var www test 0777 创建目录后 CHMOD 设置为0755 来自 php net bool mkdir string pathname int mode 07
  • 为什么根据我的 numpy 数组的类型是 int64 还是 uint8,按元素加法/减法的输出会有所不同?

    我正在进行图像比较并计算差异 并且注意到 仅当我使用 dtype int64 而不是 dtype uint8 作为 numpy 数组读取数据时 逐元素减法似乎才起作用 出于图像可视化的原因 我想切换到 unit8 image1 np arr
  • 将输出写入 Azure Functions 中的 Blob

    我正在学习使用 Azure 函数 所以 我可能听起来很愚蠢 我正在编写一个计时器触发函数 该函数每 1 分钟运行一次 添加两个数字并写入文件 这工作正常 因为我可以将输出写入本地服务器上的文件 第二步 我想将输出写入 blob 下面是代码
  • 如何使用 Swift Playground 打印到控制台?

    我一直在关注他们的新语言 swift 的 Apple Guide 但我不明白为什么右侧的栏只显示 Hello playground 而不是 Hello world 有人可以解释为什么println不是打印在右边吗 Playground no
  • 在sqlite中获取日期差异

    我想获得今天和到期日之间的日期差异 这是我实现的代码 但这并没有返回正确的输出 public String getDaysList Cursor cursor db query COUPON null null null null null
  • 理解 python id() 的唯一性

    Python 文档id 功能陈述如下 这是一个保证唯一且恒定的整数 该对象在其生命周期内 两个不重叠的对象 一生可能有相同的id value CPython实现细节 这是内存中对象的地址 虽然 下面的代码片段表明id的重复 由于我没有明确d
  • iPhone 的 CSS 媒体查询

    我有一个网站 该网站将使用媒体查询在桌面和 iPhone 上显示以提供不同的样式表 因此例如始终加载reset css 但如果在桌面上也加载desktop css 但如果在iPhone上 或者如果用户调整浏览器窗口的大小 改为加载 ipho
  • IE8 中 AJAX 的意外缓存结果

    我在 Internet Explorer 缓存 JQuery Ajax 请求结果时遇到严重问题 我的网页上有标题 每次用户导航到新页面时该标题都会更新 页面加载后我会这样做 get game getpuzzleinfo null funct
  • 从 ADUser DistinguishedName 获取 CN 值

    我有一个 PS 脚本 用于检查 Active Directory 中某些自定义用户的属性 属性之一是 经理 data Get ADUser user Properties Select Object DisplayName LockedOu
  • collections.sort方法仅用于List类型的集合吗?

    朋友们 我是 Java Collection 的新手 我想问一下Collections sort 方法仅用于 由集合使用List类型 我无法对以下代码进行排序 Collection collection new HashSet collec
  • Cosmos DB 查询 - 当某个属性不存在于所有文档中时使用 ORDER BY

    我们在为 Cosmos Document DB 编写查询时遇到问题 我们想要创建一个新的文档属性并在 ORDER BY 子句中使用它 例如 如果我们有一组文档 例如 Name Geoff Company Acme Name Bob Comp
  • 为什么字体较小时高度会增加?

    我有一个具有一定行高的块 我在其中插入内容 before伪元素 block before content text here 这效果很好 但是 如果我也给内容设置较小的字体大小 block before font size 6em cont
  • 为什么main在没有变量的情况下初始化堆栈帧

    为什么这段代码 include stdio h int main void puts Hello World 决定初始化堆栈帧 这是汇编代码 LC0 string Hello World main push rbp mov rbp rsp
  • core-plot 从轴标签中删除小数点

    有人可以告诉我如何从轴标签中删除小数点吗 我希望只显示 10 个 而不是 10 0 CPTXYAxis x axisSet xAxis NSNumberFormatter Xformatter NSNumberFormatter alloc
  • 单个列表到字典

    我有这个清单 single key1 value1 key2 value2 key3 value3 由此创建字典的最佳方法是什么 Thanks gt gt gt single key1 value1 key2 value2 key3 val
  • Android-列表视图、服务媒体播放器和布尔标志

    我目前有一个listview当您单击某个项目时 它会运行service with a mediaplayer 如果我点击另一个项目listview the service正在运行的应该停止并运行新的service 我正在使用一个boolea
  • set -e 在 bash 脚本中意味着什么?

    我正在研究这个内容preinst在从 Debian 存档 deb 文件中解压该包之前脚本执行的文件 该脚本有以下代码 bin bash set e Automatically added by dh installinit if 1 ins
  • 将 Unicode 转换为 python [重复]

    这个问题在这里已经有答案了 可能的重复 将 Unicode 转换为 UTF 8 Python 我是一个非常新的 Python 程序员 正在编写我的第一个脚本 该脚本从 plist 字符串中提取文本 然后对其执行一些操作 然后将其打包为 HT