Ruby高级特性与聊天机器人开发
1. Unicode、字符编码与UTF - 8支持
Unicode是表示世界上所有书写系统(字符集)中字符的行业标准方法,是在合理标准环境下管理多种不同字母表和字符集的唯一可行方式。
Ruby 1.8在处理字符编码方面存在明显缺陷,它将字符串视为简单的字节集合,而非真正的字符。如果使用标准英语字符集,这没问题,但处理如阿拉伯语或日语等其他语言时就会出现问题。虽然有一些变通方法,但都不够优雅。
而Ruby 1.9及更高版本则原生支持Unicode、替代字符集和编码。它开箱即支持大量编码(编写本文时超过100种),并且接口无缝。不仅程序中的字符串能获得字符编码支持,源代码本身也可以。
1.1 字符串编码
字符串本身就支持编码。可以使用 encoding 方法来确定字符串的当前编码:
"this is a test".encoding
# => #<Encoding:US-ASCII>
默认情况下,普通ASCII字符串会根据系统设置使用US - ASCII、UTF - 8或CP850编码。如果字符串更复杂,通常会使用UTF - 8编码(一种可表示任何Unicode字符的字符编码):
"ça va?".encoding
# => #<Encoding:UTF-8>
要将字符串转换为不同的编码,可以使用 e
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



