private void hash(String text) { int n = text.length(); for (int i = 0; i < n; ++i) { char ch = text.charAt(i); if (ch < 0x0080) { requireSpaceInBuffer(1); buffer[++posInBuffer] = (byte) ch; } else if (ch < 0x080) { requireSpaceInBuffer(2); buffer[++posInBuffer] = (byte) (((ch >> 6) & 0x1f) | 0xc0); buffer[++posInBuffer] = (byte) ((ch & 0x3f) | 0x80); } else { requireSpaceInBuffer(3); buffer[++posInBuffer] = (byte) (((ch >> 12) & 0x0f) | 0xe0); buffer[++posInBuffer] = (byte) (((ch >> 6) & 0x3f) | 0x80); buffer[++posInBuffer] = (byte) ((ch & 0x3f) | 0x80); } } }
private void hash(short n) { requireSpaceInBuffer(2); buffer[++posInBuffer] = (byte) ((n >> 8) & 0xff); buffer[++posInBuffer] = (byte) (n & 0xff); }
private void hash(int n) { requireSpaceInBuffer(4); buffer[++posInBuffer] = (byte) ((n >> 24) & 0xff); buffer[++posInBuffer] = (byte) ((n >> 16) & 0xff); buffer[++posInBuffer] = (byte) ((n >> 8) & 0xff); buffer[++posInBuffer] = (byte) (n & 0xff); }