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#Invalid_code_points
ありがとう!
// 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 に返されると機能しません。