ネイティブ C ライブラリの Java ラッパーを作成しましたが、文字列エンコーディングについて質問があります。Java で使用される「Java 修正 UTF-8」エンコーディングには、通常の UTF-8 とは若干の違いがあります。そして、これらの違いが重大な問題を引き起こす可能性があります。通常の UTF-8 を渡すと、JNI 関数がアプリをクラッシュさせる可能性があります。これは、「Java で変更された UTF-8」で禁止されているバイト シーケンスが含まれている可能性があるためです。次のトピックを参照してください: 「Java Modified UTF-8 Encoding」とはどういう意味ですか?
私の質問は、「Java で変更された UTF-8」を通常の UTF-8 に変換して元に戻す標準的な信頼できる方法は何ですか?