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字符串文字的警告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)