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

字节与ruby中的代码点

发布时间:2020-12-17 03:57:09 所属栏目:百科 来源:网络整理
导读:ruby字符串函数之间的区别是: – 代码点和字节 'abcd'.bytes= [97,98,99,100]'abcd'.codepoints= [97,100] 解决方法 bytes返回单个字节,与char大小无关,而codepoints返回unicode代码点. s = '日本語's.bytes # = [230,151,165,230,156,172,232,170,158]s.co
ruby字符串函数之间的区别是: – 代码点和字节

'abcd'.bytes
=> [97,98,99,100]

'abcd'.codepoints
=> [97,100]

解决方法

bytes返回单个字节,与char大小无关,而codepoints返回unicode代码点.

s = '日本語'
s.bytes # => [230,151,165,230,156,172,232,170,158]
s.codepoints # => [26085,26412,35486]
s.chars # => ["日","本","語"]

我看到你的混乱来自何处. Ruby现在默认使用utf-8编码,utf-8是专门设计的,因此它的第一个代码点(0-127)与ASCII编码完全相同. ASCII是一种具有单字节字符的编码,因此在您的问题方法的示例中,字节和代码点会同时返回相同的值.

因此,如果您需要将字符串分解为字符,请使用字符或代码点(以适合您的用例为准).仅当将字符串视为不透明的二进制blob而不是文本时才使用字节.

(编辑:李大同)

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

    推荐文章
      热点阅读