Unicode Ruby Emoji не отображает некоторые значки
Я использую ruby 2.2.2 и Emoji. Но по некоторым причинам некоторые значки не отображаются. Например (из http://apps.timwhitlock.info/emoji/tables/unicode):
Юникод: U+26F5
Байт (UTF-8): \xE2\x9B\xB5
Описание: Парусник
Может кто знает, как я могу это исправить?
Я знаю, что это работает в Java, JS, JRuby, и проблема заключается в:
https://en.wikipedia.org/wiki/UTF-8
Спасибо!
// for JS // for converting unicode code points and code pairs to their respective characters convert = function(unicode) { if(unicode.indexOf("-") > -1) { var parts = []; var s = unicode.split('-'); for(var i = 0; i < s.length; i++) { var part = parseInt(s[i], 16); if (part >= 0x10000 && part <= 0x10FFFF) { var hi = Math.floor((part - 0x10000) / 0x400) + 0xD800; var lo = ((part - 0x10000) % 0x400) + 0xDC00; part = (String.fromCharCode(hi) + String.fromCharCode(lo)); } else { part = String.fromCharCode(part); } parts.push(part); } return parts.join(''); } else { var s = parseInt(unicode, 16); if (s >= 0x10000 && s <= 0x10FFFF) { var hi = Math.floor((s - 0x10000) / 0x400) + 0xD800; var lo = ((s - 0x10000) % 0x400) + 0xDC00; return (String.fromCharCode(hi) + String.fromCharCode(lo)); } else { return String.fromCharCode(s); } } };
Это работает для JavaScript, но если вывод JS возвращается в ruby, он не работает.