UTF-8 значение персонажа в ColdFusion? - PullRequest
0 голосов
/ 27 ноября 2018

В ColdFusion я могу определить значение ASCII символа, используя asc()

Как определить значение UTF-8 символа?

1 Ответ

0 голосов
/ 28 ноября 2018
<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 байта, поэтому он не может поддерживать все символы Юникода (так как может быть целых 4 байта на символ).Но чего вы на самом деле здесь добиваетесь?

Примечание. Если вы запустите этот пример и получите более 3 байт, убедитесь, что CF принимает файл как UTF-8 (с BOM).

...