我正在尝试在Ruby中打印一个unicode字符,特别是一堆便便。它的unicode值为U-1F4A9。但是当我试图打印" \ u1F4A9"对输出或文件,我什么都看不见。
我是否需要打印到特定类型的文件才能看到一堆便便?如果是这样,什么类型的文件?有没有办法将其打印到通用输出? (我使用的是Rubymine)
答案 0 :(得分:29)
具有四个以上十六进制数字的Unicode代码点必须用大括号括起来:
puts "\u{1f4a9}"
# =>
这个记录非常糟糕,所以不要因为没有弄清楚而感到难过。大括号语法的一个好处是你可以嵌入由空格分隔的多个代码点:
puts "\u{1f4a9 1f60e}"
# =>
当然,自Ruby 2.0以来,UTF-8一直是默认编码,因此您可以随时将表情符号直接放入源代码中:
puts ""
# =>