जावास्क्रिप्ट भाषा कारणों के लिए (जावास्क्रिप्ट भाषा अंतर्निहित स्ट्रिंग समर्थन करता हैascii
औरutf-16
केवल एन्कोडिंग, ताकि डेटा खोने नहीं), जब यह स्ट्रिंग है कि एन्कोड नहीं किया जा सकता है का सामना किया, यह वापस आ जाएगाArrayBuffer
प्रकार. एफएमजेड के सभी एपीआई इंटरफेस जो स्ट्रिंग मापदंडों को पारित कर सकते हैं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
}
सी++ रणनीति लेखन निर्देश
वेब3