用java实现php的ord和chr函数

meShell · 2017年07月29日 · 阅读 1.8k

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

关于作者

全栈工程师

文章被阅读 41.6k
获赞 3