Table Of Contents

m

全干工程师

用java实现php的ord和chr函数

在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);

留言