在ColdFusion中字符的UTF-8值是什么?

时间:2018-11-27 19:42:21

标签: utf-8 coldfusion ascii coldfusion-2018

在ColdFusion中,我可以使用asc()

确定字符的ASCII值。

如何确定字符的UTF-8值?

1 个答案:

答案 0 :(得分:2)

<cfscript>

    x = "漢"; // 3 bytes

    // bytes of unicode character, a.k.a. String.getBytes("UTF-8")
    bytes = charsetDecode(x, "UTF-8");
    writeDump(bytes); // -26-68-94

    // convert the 3 bytes to Hex
    hex = binaryEncode(bytes, "HEX");
    writeDump(hex); // E6BCA2

    // convert the Hex to Dec
    dec = inputBaseN(hex, 16);
    writeDump(dec); // 15121570

    // asc() uses the UCS-2 representation: 漢 = Hex 6F22 = Dec 28450
    asc = asc(x);
    writeDump(asc); // 28450

</cfscript>

USC-2固定为2个字节,因此它不能支持所有unicode字符(每个字符最多可以包含4个字节)。但是您实际上想在这里实现什么?

注意:如果运行此示例并返回3个以上的字节,请确保CF将文件拾取为UTF-8(带有BOM)。