Project

General

Profile

Feature #15931

Updated by naruse (Yui NARUSE) over 5 years ago

RubyとJavaのブリッジを開発していて、文字列の変換処理で困っています。 
 現象) 
 JavaのUTF-8は非標準的な形式 (https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/types.html#modified_utf_8_strings) なので、Ruby側の文字列をそのままUTF-8にエンコードして与えると、Java側ではサロゲートペアに相当する文字を正しく認識できません。 JavaのUTF-8は非標準的な形式(https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/types.html#modified_utf_8_strings)なので、Ruby側の文字列をそのままUTF-8にエンコードして与えると、Java側ではサロゲートペアに相当する文字を正しく認識できません。 
 お願い) 
 Java固有の拡張UTF-8は一般性が欠けていると考えられますが、ほぼ互換のCESU-8 (https://www.unicode.org/reports/tr26/tr26-4.html) は、IANAの文字セットにも登録されていて通信などでそれなりに利用されているようなので、RubyのEncodingでサポートしていただきたいと思います。 Java固有の拡張UTF-8は一般性が欠けていると考えられますが、ほぼ互換のCESU-8(https://www.unicode.org/reports/tr26/tr26-4.html)は、IANAの文字セットにも登録されていて通信などでそれなりに利用されているようなので、RubyのEncodingでサポートしていただきたいと思います。 

 よろしくご検討ください。

Back