zer02017/03/01 15:16ありがとうございます。 String replaced = test.replace('\u2028', ' '); こちらで見事に置換することができました。 その他にもエラーになる文字列があることがわかりましたので共有させて頂きます。 http://php-tips.com/%E3%83%A1%E3%83%A2/2009/11/%E3%83%A1%E3%83%A2-u2029%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8Bjson%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92eval%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%87%E3%82%B3%E3%83%BC その他にも回答頂いた皆様ありがとうございました。
KSwordOfHaste2017/03/01 08:35UTF8でエンコードされたバイト列をそのまま並べてもそれはcodepointではありません。codepointはKiyoshiMotokiさん回答にあるようにU+2028(intの値として0x2028)になります。
KSwordOfHaste2017/03/01 09:59> 修正済み 了解です! しかしunicodeの基本ページにある文字なので結局はcodepointを持ち出す必要はなく、普通にchar/String(=UTF16)として扱える点にもご注意を。つまり"\u2028"と直接書けます。
KSwordOfHaste2017/03/01 08:33質問はU+00e2ではなくUTF8のエンコードとしてのe2 80 a8の文字(U+2028)のことをいっているのでその点を勘違いされていると思います。 Javaのコード上は「文字=char」はUTF16です。正規表現上\xe2は\u00e2ですので本件とは別の文字('â')を指すものになってしまいます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/01 15:16
2017/03/02 00:29