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

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

概述要遵循 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或更高版本,因此使用它会使您与早期版本不兼容.)

总结

以上是内存溢出为你收集整理的获取没有前缀为’u’的python字符串文字的警告全部内容,希望文章能够帮你解决获取没有前缀为’u’的python字符串文字的警告所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存