627 |
text = buf.toString(); |
text = buf.toString(); |
628 |
} |
} |
629 |
ByteBuffer encoded = encoder.encode(CharBuffer.wrap(text)); |
ByteBuffer encoded = encoder.encode(CharBuffer.wrap(text)); |
630 |
|
int len = encoded.limit() - encoded.position(); |
631 |
if (encoded.hasArray()) |
if (encoded.hasArray()) |
632 |
{ |
{ |
633 |
return encoded.array(); |
byte[] ret = encoded.array(); |
634 |
|
if (ret.length > len) |
635 |
|
{ |
636 |
|
// Why? |
637 |
|
byte[] ret2 = new byte[len]; |
638 |
|
System.arraycopy(ret, 0, ret2, 0, len); |
639 |
|
ret = ret2; |
640 |
|
} |
641 |
|
return ret; |
642 |
} |
} |
643 |
encoded.flip(); |
encoded.flip(); |
|
int len = encoded.limit() - encoded.position(); |
|
644 |
byte[] ret = new byte[len]; |
byte[] ret = new byte[len]; |
645 |
encoded.get(ret, 0, len); |
encoded.get(ret, 0, len); |
646 |
return ret; |
return ret; |
647 |
} |
} |
648 |
|
|
649 |
|
String hex(byte[] b) { |
650 |
|
StringBuffer buf = new StringBuffer(); |
651 |
|
for (int i = 0; i < b.length; i++) |
652 |
|
buf.append(Integer.toHexString(b[i])).append(' '); |
653 |
|
return buf.toString(); |
654 |
|
} |
655 |
|
|
656 |
String encode(String text, boolean encodeCtl, boolean inAttr) |
String encode(String text, boolean encodeCtl, boolean inAttr) |
657 |
{ |
{ |
658 |
int len = text.length(); |
int len = text.length(); |