Java表情转译工具类适用于Mac系统
最编程
2024-08-14 22:04:30
...
private static byte[] encodeMacEmoticonByte(byte[] bytes, byte[] phiz) {
int index = 0;
while (true) {
if (bytes == null) {
return null;
}
if (index >= bytes.length) {
return bytes;
}
byte b = bytes[index];
byte c = (byte) ((b & 0xff) >>> 7);// b&0xff取后8位 c为符号位
if (c == 0) {
index++;
continue;
}
c = (byte) ((b & 0xff) >>> 5);
if (c == 6) {
index += 2;
continue;
}
c = (byte) ((b & 0xff) >>> 4);
if (c == 14) {
index += 2;
continue;
}
if (c == 15) {
byte[] temp = new byte[bytes.length - 4 + phiz.length];
System.arraycopy(bytes, 0, temp, 0, index);
System.arraycopy(phiz, 0, temp, index, phiz.length);
if (index + 4 >= bytes.length) {
return temp;
} else {
System.arraycopy(bytes, index + 4, temp, index + phiz.length, bytes.length - 4 - index);
index += phiz.length;
bytes = temp;
continue;
}
}
index++;
continue;
}
}
int index = 0;
while (true) {
if (bytes == null) {
return null;
}
if (index >= bytes.length) {
return bytes;
}
byte b = bytes[index];
byte c = (byte) ((b & 0xff) >>> 7);// b&0xff取后8位 c为符号位
if (c == 0) {
index++;
continue;
}
c = (byte) ((b & 0xff) >>> 5);
if (c == 6) {
index += 2;
continue;
}
c = (byte) ((b & 0xff) >>> 4);
if (c == 14) {
index += 2;
continue;
}
if (c == 15) {
byte[] temp = new byte[bytes.length - 4 + phiz.length];
System.arraycopy(bytes, 0, temp, 0, index);
System.arraycopy(phiz, 0, temp, index, phiz.length);
if (index + 4 >= bytes.length) {
return temp;
} else {
System.arraycopy(bytes, index + 4, temp, index + phiz.length, bytes.length - 4 - index);
index += phiz.length;
bytes = temp;
continue;
}
}
index++;
continue;
}
}
上一篇: 探索Python之道:MySQL权限管理和数据备份还原
下一篇: ABC333G
推荐阅读