在Ruby中通过十六进制字符串获取unicode

时间:2018-08-20 06:53:31

标签: ruby unicode hex

给出一个十六进制代码,例如:1f60d,如何找到相应的unicode(代码点)

3 个答案:

答案 0 :(得分:5)

您可以使用Array#pack

["1F60d".to_i(16)].pack("U*")

答案 1 :(得分:3)

将字符串转换为整数(例如,通过hex),并通过chr将整数转换为字符:

'1f60d'.hex.chr('UTF-8')
#=> ""

答案 2 :(得分:-1)

您可以使用puts "\u{1F60d}" 完成相同操作。

if (userPrincipalName.Contains("#EXT#"))
 {
      userName = user.UserPrincipalName.Substring(0, userPrincipalName.IndexOf("#")).Replace('_', '@');
 }
 else
 {
    userName = user.UserPrincipalName;
 }