Java “日文转换”;“半声音”;性格

Java “日文转换”;“半声音”;性格,java,apache-spark-sql,character-encoding,cjk,utf,Java,Apache Spark Sql,Character Encoding,Cjk,Utf,我试着比较两个包含日语字符的spark数据帧,有些字符看起来相同,但实际上与程序不同,比如プ vsプ 如果将它们放入utf-8编码器: プ utf-8=\xE3\x83\x97 プ utf-8=\xE3\x83\x95\xE3\x82\x9A 看起来像フ(\xE3\x83\x95)+小圆半音标(\xE3\x83\x95)=プ 这些差异被称为什么,在Java/Scala中有没有转换它们的方法 谢谢。プaka\xE3\x83\x97(UTF-8)是\u30d7aka プaka\xE3\x83

我试着比较两个包含日语字符的spark数据帧,有些字符看起来相同,但实际上与程序不同,比如プ vsプ

如果将它们放入utf-8编码器:

プ utf-8=\xE3\x83\x97

プ utf-8=\xE3\x83\x95\xE3\x82\x9A

看起来像フ(\xE3\x83\x95)+小圆半音标(\xE3\x83\x95)=プ

这些差异被称为什么,在Java/Scala中有没有转换它们的方法


谢谢。

aka
\xE3\x83\x97
(UTF-8)是
\u30d7
aka

プaka
\xE3\x83\x95\xE3\x82\x9A
(UTF-8)是
\u30d5\u309a
aka和

如您所见,第二个字符是基本字符和组合字符。这类似于拉丁字符的变音标记(又称重音标记),例如how
ñ
=
n
+
̃
aka=+

您可以使用
Normalizer
类在这两种表单之间进行转换。请参阅:

另请参见:。
另见: