1)文字列内の上位および下位のサロゲート文字順は固定されていますか?私はそれに頼ることができますか? Windows上で実験的にhighSurrogateはStringに最初に入ります(String.charAt(int index)の点ではより低いインデックス)。これはどのプラットフォーム(Linuxなど)でも常にそうですか?これは文書化されていますか?高位のサロゲート・キャラクタは、常に文字列内で最初に(下位のインデックスに)移動しますか?
int[] codePoint = { 0x1F71D };
String s = new String(codePoint, 0, 1);
System.out.println(s.length()); // 2
System.out.println(s); //
System.out.println((int) Character.highSurrogate(codePoint[0]));
System.out.println((int) Character.lowSurrogate(codePoint[0]));
System.out.println((int) s.charAt(0)); // highSurrogate
System.out.println((int) s.charAt(1)); // lowSurrogate
2)に加えて、私は少し混乱しています:高/低サロゲートcodeunit順序とエンディアンとの間のcorellationがありますか?私は何もコアリングはないと思いますが、これらの2つの概念は直交していますか?