리소스 로딩... 로딩...

자바스크립트 전략 작성 지침

자바스크립트 언어 이유로 (자바스크립트 언어 내장 문자열 지원ascii그리고utf-16데이터 손실을 방지하기 위해, 단지 인코딩), 그것은 인코딩 할 수 없는 문자열을 만났을 때, 그것은 반환ArrayBuffer문자열 매개 변수를 전달할 수 있는 FMZ의 모든 API 인터페이스는ArrayBuffer type.

다음 예제 를 통해 이를 간략하게 설명 할 수 있습니다.

function stringToHex(str) {
    let hex = '';
    for (let i = 0; i < str.length; i++) {
        const charCode = str.charCodeAt(i).toString(16);
        hex += charCode.length === 1 ? '0' + charCode : charCode;
    }
    return hex;
}

function main() {
    const inputString = "abc𠮷123";  // The Unicode code point of the "𠮷" character is more than 16 bits.
    // const inputString = "abcG123"; // If the abcG123 string test is used, the variable outputD is not assigned to ArrayBuffer

    // Use the Encode function to encode inputString as hex.
    const encodedHex = Encode("raw", "string", "hex", inputString);
    Log(encodedHex);  // Contents for: 61 62 63 f0a0aeb7 31 32 33

    // Use your own implementation of the stringToHex function to encode, due to the inability to deal with the "𠮷" character, resulting in an error in the hex encoding.
    const manuallyEncodedHex = stringToHex(inputString);
    Log(manuallyEncodedHex);  // Contents for: 61 62 63 d842dfb7 31 32 33

    // Successful reduction from hex code to string (variable inputString)
    const decodedString = Encode("raw", "hex", "string", encodedHex);
    Log(decodedString);

    // Unable to decode, returns ArrayBuffer, i.e. variable outputD is ArrayBuffer
    const outputD = Encode("raw", "hex", "string", manuallyEncodedHex);
    Log(outputD);

    // Validate the returned ArrayBuffer type variable outputD
    const bufferD = new Uint8Array(outputD);
    let hexBufferD = '';
    for (let i = 0; i < bufferD.length; i++) {
        hexBufferD += bufferD[i].toString(16).padStart(2, '0');
    }
    Log(hexBufferD);    // 61 62 63 d842dfb7 31 32 33
}
C++ 전략 작성 지침 웹3