【问题标题】:Print Unicode escape codes from variable从变量中打印 Unicode 转义码
【发布时间】:2016-08-29 11:04:32
【问题描述】:

我有一个 Unicode 字符代码列表,我想用rumoji 输出。这是我用来迭代数据的代码。

require "rumoji"

# this works
puts Rumoji.decode("\u{1F600}")

# feed some data
data = [
    "1F600",
    "1F476",
    "1F474"
]

data.each do |line|
    # this doesn't work
    puts Rumoji.decode("\u{#{line}}")
    puts Rumoji.decode("\u{" + line + "}")
end

我不确定如何在转义字符串中使用变量名。

【问题讨论】:

    标签: ruby unicode-escapes


    【解决方案1】:

    不能将\u 与字符串插值一起使用,因为\u 优先。可以做的,是Array#pack 一个整数数组:

    ▶ data.map { |e| e.to_i(16) }.pack 'U*'
    #⇒ "???"
    

    【讨论】:

    • 我试图弄清楚如何使用来输出每一行,而不是完整的数组。我宁愿能够将字符串连接到我的输出。这不起作用puts e.to_i(16).pack("U*")。有什么提示吗?
    • 因为pack 是在Array 上定义的:["1F600".to_i(16)].pack 'U'
    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2014-12-12
    • 2014-09-16
    • 2012-08-14
    • 2016-03-17
    • 2013-05-09
    相关资源
    最近更新 更多