encodeChar method
Implementation
int encodeChar(int chr, StringBuffer sb) {
if (chr == 32) {
// ' '
sb.write('\x03');
return 1;
}
if (chr >= 48 /* 0 */ && chr <= 57 /* 9 */) {
sb.writeCharCode(chr - 48 + 4);
return 1;
}
if (chr >= 65 /* A */ && chr <= 90 /* Z */) {
sb.writeCharCode(chr - 65 + 14);
return 1;
}
if (chr < 32 /* */) {
sb.write('\x00'); //Shift 1 Set
sb.writeCharCode(chr);
return 2;
}
if (chr <= 47 /* / */) {
sb.write('\x01'); //Shift 2 Set
sb.writeCharCode(chr - 33);
return 2;
}
if (chr <= 64 /* @ */) {
sb.write('\x01'); //Shift 2 Set
sb.writeCharCode(chr - 58 + 15);
return 2;
}
if (chr <= 95 /* _ */) {
sb.write('\x01'); //Shift 2 Set
sb.writeCharCode(chr - 91 + 22);
return 2;
}
if (chr <= 127) {
sb.write('\x02'); //Shift 3 Set
sb.writeCharCode(chr - 96);
return 2;
}
sb.write('\x01\u001e'); //Shift 2, Upper Shift
int len = 2;
len += encodeChar(chr - 128, sb);
return len;
}