当前位置: 首页 > 面试题库 >

测试字符串(如果是Unicode),哪种UTF标准,并获取其长度(以字节为单位)?

习旻
2023-03-14
问题内容

我需要测试字符串是否为Unicode,然后是否为UTF-8。之后,获取字符串的长度(以字节为单位),包括BOM(如果使用的话)。如何在Python中完成?

同样出于教学目的,UTF-8字符串的字节列表表示是什么样的?我很好奇Python中如何表示UTF-8字符串。

后期编辑:pprint的效果很好。


问题答案:
try:
    string.decode('utf-8')
    print "string is UTF-8, length %d bytes" % len(string)
except UnicodeError:
    print "string is not UTF-8"

在Python
2中,str是字节unicode序列和字符序列。您可以str.decode将字节序列解码为unicode,并将unicode.encode字符序列编码为str。因此,例如,u"é"包含单个字符U
+ 00E9的unicode字符串也可以被写入u"\xe9";编码为UTF-8可得到字节序列"\xc3\xa9"

在Python 3中,这已更改;bytes是一个字节序列,str是一个字符序列。



 类似资料:
  • 问题内容: 在我的JavaScript代码中,我需要以以下格式编写一条消息到服务器: 例: 数据可能包含unicode字符。我需要将它们作为UTF-8发送。 我正在寻找最跨浏览器的方法来计算JavaScript中字符串的长度(以字节为单位)。 我已经尝试过以此来组成我的有效载荷: 但是对于较旧的浏览器(或者,也许是UTF-16中的那些浏览器中的字符串?),它不能为我提供准确的结果。 有什么线索吗?

  • 返回字符串的字节长度。 将给定的字符串转换为Blob Object并查找其 size 。 const byteSize = str => new Blob([str]).size; byteSize('

  • 问题内容: 我正在努力获取unicode字符串的计数,并尝试了各种选择。看起来像是一个小问题,但却大有作为。 在这里,我试图获取字符串str1的长度。我得到的是6。但实际上是3。将光标移到字符串“குமார்”上还会显示为3个字符。 基本上我想测量长度并打印每个字符。如“கு”,“மா”,“ர்”。 PS:这是泰米尔语。 问题答案: 找到了解决您问题的方法。 基于这个SO答案,我制作了一个使用正则

  • 我正在努力获取unicode字符串的计数,并尝试了各种选项。看起来是个小问题,但影响很大。 这里我试图得到字符串str1的长度。我得到的是6分。但实际上是3。将光标移到字符串上“குமார்“也显示为3个字符。 基本上我想测量长度并打印每个字符。像 "கு", "மா", "ர்" . 附言:这是泰米尔语。

  • 我有一个文本框(EditText),当我插入一个文本和一个按钮时,应该计算该文本的长度并将其显示在另一个文本框中,我应该如何对该按钮进行编码

  • 问题内容: 你如何得到一个的长度?例如,我有一个定义如下的变量: 但是,我似乎无法在字符串上找到长度方法。 问题答案: 自Swift 4+起 只是: 原因。 (感谢Martin R) 从Swift 2开始: 在Swift 2中,Apple已将全局功能更改为协议扩展,这些扩展可与符合协议的任何类型匹配。因此,新语法为: (感谢JohnDifool的注意) 从Swift 1开始 使用计数字符方法: 直