-
Notifications
You must be signed in to change notification settings - Fork 4
/
965.txt
22 lines (16 loc) · 1.79 KB
/
965.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#?SuikaWiki/0.9
[1] [[Java]] の \u 符号化 (UnicodeEscape)
<http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#100850>
<http://java.sun.com/docs/books/jls/first_edition/html/3.doc.html#100850>
<http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html>
<http://www.y-adagio.com/public/standards/tr_javalang/3.doc.htm>
[2] >>1 を [[ABNF]] に翻訳すると、
-[3] UnicodeEscape = "\" 1*('u') 4HEXDIGIT
[4] [[Mozilla]] でも使われていて、 [CODE[x-u-escaped]] と呼ばれている。
[5] U+10000 〜 をどう表現するのかは不明。
- [6] [[JavaSDK]] に [CODE[native2ascii]] というのが入ってます。これを使って変換します。
- [7] >>3 にあるように [CODE[\uu4E00]] みたいな書き方が可能 (意味は >>1 参照。) なの (は Java 以外の実装、例えば Mozilla とかが対応しているのか) と、 >>5 の疑問があるのですが、なんせ "\u" なんてどこの検索円陣にも掛からないし、さぱーりわからない。
- [8] Java や Mozilla とは関係なしに、各種言語・表記法などで、従来の [CODE[[[\x]]]] などのオクテット表現方法の延長として [CODE[\u[VAR[HHHH]]]] が使われることがよくあります。
- [9] >>8 のような場合で、 [CODE(char)[U+FFFF]] より大きいのを表現する方法は、 [CODE[\U[VAR[HHHHHH]]]] を使う方法と [CODE[\U[VAR[HHHHHHHH]]]] を使う方法があります。 (後者がお勧め。) ほかに[[サロゲート]]を使ってがんばる処理系もあるかもしれませんが、萎え萎え。
[10] >>5-9 Java では [CODE[\U[VAR[HHHHHH]]]] とするようです。
''Supplementary Characters in the Java Platform'' <http://java.sun.com/developer/technicalArticles/Intl/Supplementary/>