加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

获取没有前缀为’u’的python字符串文字的警告

发布时间:2020-12-20 11:15:23 所属栏目:Python 来源:网络整理
导读:要遵循 best practices for Unicode in python,您应该使用’u’作为字符的所有字符串文字的前缀.有没有可用的工具(最好是PyDev兼容的),如果你忘了它就会??发出警告? 解决方法 you should prefix all string literals with ‘u’ 不,不是真的. 您应该为u字符
要遵循 best practices for Unicode in python,您应该使用’u’作为字符的所有字符串文字的前缀.有没有可用的工具(最好是PyDev兼容的),如果你忘了它就会??发出警告?

解决方法

you should prefix all string literals with ‘u’

不,不是真的.

您应该为u字符串添加字符串前缀.但并非所有字符串都是字符串.当您与基于字节的组件(如网络服务或二进制文件)进行通信时,您需要使用字节字符串.

例如.想尝试将Unicode字符串写入PNG文件?不明智.想要base64解码字符串Y2Fm6Q ==?你不能在这里合理地使用Unicode字符串,base64是显式字节.

当然,Python通常会让你通过传递一个字符串的unicode字符串,但只能通过自动编码为ASCII.如果字符串包含非ASCII字符,您将获得UnicodeError,就像您使用了预期使用unicode的字节一样. “Unicode是对的,字节错误”是一个具有破坏性的神话.需要对两种字符串进行操作.

如果您担心转换到Python 3,您当然应该将字符串标记为u”,但是您还应该将明确字节字符串标记为b”.无关紧要的字符串可以保留为”并让它们在Python 3上从字节字符串转换为unicode字符串.在很多情况下,Python 2使用字节而Python 3使用Unicode,它适用于做这个.但是仍然有很多情况下你确实需要讨论字节,并且将其转换为Python 3作为unicode会导致问题.

(唯一的问题是b”语法需要Python 2.6或更高版本,因此使用它会使您与早期版本不兼容.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读