从Ruby中的国家/地区代码获取表情符号标志

时间:2018-06-14 13:52:56

标签: ruby unicode emoji

我想转换国家代码,例如" US"表情符号,即转换"美国"字符串到Ruby中适当的Unicode。

Here's an equivalent example for Java

2 个答案:

答案 0 :(得分:6)

使用tr将字母字符转换为区域指标符号:

'US'.tr('A-Z', "\u{1F1E6}-\u{1F1FF}")
#=> ""

当然,您也可以直接使用Unicode字符:

'US'.tr('A-Z', '-')
#=> ""

答案 1 :(得分:4)

以下是Ruby的端口:

country = 'US'
flagOffset = 0x1F1E6
asciiOffset = 0x41
firstChar = country[0].ord - asciiOffset + flagOffset
secondChar = country[1].ord - asciiOffset + flagOffset
flag = [firstChar, secondChar].pack("U*")