Java中的Unicode转义语法

Java中的Unicode转义语法,第1张

Java中的Unicode转义语法

有趣的问题。JSL的3.3节说:

UnipreEscape:     UnipreMarker HexDigit HexDigit HexDigit HexDigitUnipreMarker:    u    UnipreMarker u

转化为

\u+p{XDigit}{4}

如果合格的后跟u,或不止一个u,并且最后一个u后不跟四个十六进制数字,则发生编译时错误。

因此,您是对的,

u
反斜杠后可以有一个或多个。原因进一步说明:

Java编程语言指定了一种将Unipre编写的程序转换为ASCII的标准方法,该程序将程序更改为可以由基于ASCII的工具处理的形式。转换涉及通过添加额外的u将程序源文本中的所有Unipre转义转换为ASCII-
例如, uxxxx变为 uuxxxx-同时将源文本中的非ASCII字符转换为每个均包含单个u的Unipre转义。 。

Java编译器同样可以接受此转换后的版本,并且表示完全相同的程序。稍后可以通过将存在多个u的每个转义序列转换为具有更少u的Unipre字符序列,同时将具有单个u的每个转义序列转换为相应的单个Unipre字符,从此ASCII格式还原确切的Unipre源。

所以这个输入

 u0020ä

变成

 uu0020u00e4

第一个

uu
意思是“这是一个以unipre开头的转义序列”,第二个意思
u
是“一个自动工具将非ASCII字符转换为unipre义。”

当您希望从ASCII转换回unipre时,此信息很有用:您可以还原尽可能多的原始代码。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存