欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

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;
    }
  }