Apache spark Spark不保留**某些**unicode字符的编码

Apache spark Spark不保留**某些**unicode字符的编码,apache-spark,unicode,Apache Spark,Unicode,spark序列化某些unicode字符时,似乎没有保留其编码 例如: val str=“带unicodes的字符串\u202F和\uD83C” val range=“[\u202F\uD800-\uDB7F]+” str.replaceAll(范围为“gotcha!”)/“带有unicodes gotcha!和gotcha!的字符串!” 但是在将这个字符串包装到一个字符串的数据集中之后做同样的事情 val ds=Seq(str).toDS() ds.map(s=>s.replaceAll(范围

spark序列化某些unicode字符时,似乎没有保留其编码

例如:

val str=“带unicodes的字符串\u202F和\uD83C”
val range=“[\u202F\uD800-\uDB7F]+”
str.replaceAll(范围为“gotcha!”)/“带有unicodes gotcha!和gotcha!的字符串!”
但是在将这个字符串包装到一个字符串的数据集中之后做同样的事情

val ds=Seq(str).toDS()
ds.map(s=>s.replaceAll(范围为“gotcha!”)。第一个/“字符串包含unicodes gotcha!和?”

知道这是怎么发生的吗?

U+D83C单独不是有效的UTF-16序列,它是代理项对的前半部分


您使用的范围似乎表明您至少隐约知道D800到DBFF是保留的;您可能应该仔细阅读。

U+D83C单独不是有效的UTF-16序列,它是代理项对的前半部分

您使用的范围似乎表明您至少隐约知道D800到DBFF是保留的;您可能应该在上阅读。

U+D83C是一个。它不能单独编码。

U+D83C是一种密码。它不能单独编码