40 * 1 7 0xxxxxxx
41 * U+0000..U+007F 00..7F
42 *
43 * 2 11 110xxxxx 10xxxxxx
44 * U+0080..U+07FF C2..DF 80..BF
45 *
46 * 3 16 1110xxxx 10xxxxxx 10xxxxxx
47 * U+0800..U+0FFF E0 A0..BF 80..BF
48 * U+1000..U+FFFF E1..EF 80..BF 80..BF
49 *
50 * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
51 * U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
52 * U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
53 * U+100000..U10FFFF F4 80..8F 80..BF 80..BF
54 *
55 */
56
57 class UTF_8 extends Unicode
58 {
59 public UTF_8() {
60 super("UTF-8", StandardCharsets.aliases_UTF_8);
61 }
62
63 public String historicalName() {
64 return "UTF8";
65 }
66
67 public CharsetDecoder newDecoder() {
68 return new Decoder(this);
69 }
70
71 public CharsetEncoder newEncoder() {
72 return new Encoder(this);
73 }
74
75 private static final void updatePositions(Buffer src, int sp,
76 Buffer dst, int dp) {
77 src.position(sp - src.arrayOffset());
78 dst.position(dp - dst.arrayOffset());
79 }
80
|
40 * 1 7 0xxxxxxx
41 * U+0000..U+007F 00..7F
42 *
43 * 2 11 110xxxxx 10xxxxxx
44 * U+0080..U+07FF C2..DF 80..BF
45 *
46 * 3 16 1110xxxx 10xxxxxx 10xxxxxx
47 * U+0800..U+0FFF E0 A0..BF 80..BF
48 * U+1000..U+FFFF E1..EF 80..BF 80..BF
49 *
50 * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
51 * U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
52 * U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
53 * U+100000..U10FFFF F4 80..8F 80..BF 80..BF
54 *
55 */
56
57 class UTF_8 extends Unicode
58 {
59 public UTF_8() {
60 super(StandardCharsets.UTF_8, StandardCharsets.aliases_UTF_8);
61 }
62
63 public String historicalName() {
64 return "UTF8";
65 }
66
67 public CharsetDecoder newDecoder() {
68 return new Decoder(this);
69 }
70
71 public CharsetEncoder newEncoder() {
72 return new Encoder(this);
73 }
74
75 private static final void updatePositions(Buffer src, int sp,
76 Buffer dst, int dp) {
77 src.position(sp - src.arrayOffset());
78 dst.position(dp - dst.arrayOffset());
79 }
80
|