共计 340 个字符,预计需要花费 1 分钟才能阅读完成。
在 Java 中,char 是 UTF-16 代码单元。将 UTF-16 转换为 UTF- 8 不仅仅是 0xFF,例如 UTF-16 中的 01FF 是 UTF- 8 中的 C7 BF,所以 PHP ord()应该给出 0xC7(199),而 0x01FF 和 0xFF 是 255, 实现 ord 函数:
//& 0xff 针对 utf- 8 编码
public static int ord(String s) {return s.length() > 0 ? (s.getBytes(StandardCharsets.UTF_8)[0] & 0xff) : 0;
}
public static int ord(char c) {return c < 0x80 ? c : ord(Character.toString(c))
}
chr 函数实现:
Character.toString ((char) i);
正文完