Python中文本的编解码

2024-09-27 00:18:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用一个python脚本(appengine),它接受用户的输入(文本),并将其存储在数据库中,以便以后重新分发。在

输入的文本是未知的,就编码而言,我只需要编码一次。在

来自客户的示例文本:

  • 这是一个测试
  • 这是一个测试

现在在python中,我想我能做的就是解码然后编码,这样两个示例都变成:

  • 这是一个测试
  • 这是一个测试

我使用的代码如下:

#
# Dencode as UTF-8
#
pl = pl.encode('UTF-8')

#
#Unquote the string, then requote to assure encoding
#
pl = urllib.quote(urllib.unquote(pl))

其中pl来自有效负载的POST参数。在

问题

问题是,有时我得到特殊(中文,阿拉伯语)类型的字符,我得到以下错误。在

^{pr2}$

有人知道处理字符串的最佳解决方案吗?在

谢谢。在


Tags: 代码用户文本脚本数据库示例编码客户
1条回答
网友
1楼 · 发布于 2024-09-27 00:18:38

更换

pl = pl.encode('UTF-8')

^{pr2}$

因为你要把一个字节串解码成一个字符串。在

python2的一个设计问题允许您.encode一个bytestring(已经被编码),方法是将其自动解码为ASCII(这就是为什么它对ASCII字符串有效,只对非ASCII字节无效)。在

相关问题 更多 >

    热门问题