61 }
62
63 @Override
64 byte[] getBytes(String s) {
65 return JLA.getBytesUTF8NoRepl(s);
66 }
67 }
68
69 // UTF_8.ArrayEn/Decoder is stateless, so make it singleton.
70 private static ZipCoder utf8 = new UTF8(UTF_8);
71
72 public static ZipCoder get(Charset charset) {
73 if (charset == UTF_8)
74 return utf8;
75 return new ZipCoder(charset);
76 }
77
78 String toString(byte[] ba, int off, int length) {
79 try {
80 return decoder().decode(ByteBuffer.wrap(ba, off, length)).toString();
81
82 } catch (CharacterCodingException x) {
83 throw new IllegalArgumentException(x);
84 }
85 }
86
87 String toString(byte[] ba, int length) {
88 return toString(ba, 0, length);
89 }
90
91 String toString(byte[] ba) {
92 return toString(ba, 0, ba.length);
93 }
94
95 byte[] getBytes(String s) {
96 try {
97 ByteBuffer bb = encoder().encode(CharBuffer.wrap(s));
98 int pos = bb.position();
99 int limit = bb.limit();
100 if (bb.hasArray() && pos == 0 && limit == bb.capacity()) {
101 return bb.array();
|
61 }
62
63 @Override
64 byte[] getBytes(String s) {
65 return JLA.getBytesUTF8NoRepl(s);
66 }
67 }
68
69 // UTF_8.ArrayEn/Decoder is stateless, so make it singleton.
70 private static ZipCoder utf8 = new UTF8(UTF_8);
71
72 public static ZipCoder get(Charset charset) {
73 if (charset == UTF_8)
74 return utf8;
75 return new ZipCoder(charset);
76 }
77
78 String toString(byte[] ba, int off, int length) {
79 try {
80 return decoder().decode(ByteBuffer.wrap(ba, off, length)).toString();
81 } catch (CharacterCodingException x) {
82 throw new IllegalArgumentException(x);
83 }
84 }
85
86 String toString(byte[] ba, int length) {
87 return toString(ba, 0, length);
88 }
89
90 String toString(byte[] ba) {
91 return toString(ba, 0, ba.length);
92 }
93
94 byte[] getBytes(String s) {
95 try {
96 ByteBuffer bb = encoder().encode(CharBuffer.wrap(s));
97 int pos = bb.position();
98 int limit = bb.limit();
99 if (bb.hasArray() && pos == 0 && limit == bb.capacity()) {
100 return bb.array();
|