使用 ruby​​ 将 unicode 转换为字符

发布于 2024-10-10 22:15:05 字数 194 浏览 4 评论 0原文

我找到了unicode的汉字词典。我正在尝试从这本字典中构建字符数据库,但我不知道如何将 unicode 转换为字符。

p "国".unpack("U*").first #this gives the unicode 22269

如何将 22269 转换回相反的字符值上面那行的。

I found a dictionary of Chinese characters in unicode. I'm trying to build a database of Characters out of this dictionary but I don't know how to convert unicode to a character..

p "国".unpack("U*").first #this gives the unicode 22269

How can convert 22269 back into the character value which would be the opposite of the line above.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

jJeQQOZ5 2024-10-17 22:15:05

红宝石 1.9:

p "国".codepoints.first #=> 22269
p 22269.chr('UTF-8') #=> "国"

Ruby 1.9 :

p "国".codepoints.first #=> 22269
p 22269.chr('UTF-8') #=> "国"
半城柳色半声笛 2024-10-17 22:15:05
[22269].pack('U*') #=> "国" or "\345\233\275"

编辑:适用于 1.8.6+(已在 1.8.6、1.8.7 和 1.9.2 中验证)。在 1.8.x 中,您会得到一个代表单个 Unicode 字符的三字节字符串,但使用 puts 会导致正确的中文字符出现在终端中。

[22269].pack('U*') #=> "国" or "\345\233\275"

Edit: Works in 1.8.6+ (verified in 1.8.6, 1.8.7, and 1.9.2). In 1.8.x you get a three-byte string representing the single Unicode character, but using puts on that causes the correct Chinese character to appear in the terminal.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文