Best JavaScript code snippet using wpt
big5.js
Source:big5.js
1const { inRange, decoderError, encoderError, isASCIICodePoint,2 end_of_stream, finished, isASCIIByte, floor } = require('../utils');3const index = require('../indexes'); const { indexBig5PointerFor, indexCodePointFor } = index;4//5// 12. Legacy multi-byte Chinese (traditional) encodings6//7// 12.1 Big58// 12.1.1 Big5 decoder9/**10 * @implements {Decoder}11 */12class Big5Decoder {13 constructor(options) {14 const { fatal } = options15 this.fatal = fatal16 // Big5's decoder has an associated Big5 lead (initially 0x00).17 this.Big5_lead = 0x0018 }19 /**20 * @param {Stream} stream The stream of bytes being decoded.21 * @param {number} bite The next byte read from the stream.22 */23 handler(stream, bite) {24 // 1. If byte is end-of-stream and Big5 lead is not 0x00, set25 // Big5 lead to 0x00 and return error.26 if (bite === end_of_stream && this.Big5_lead !== 0x00) {27 this.Big5_lead = 0x0028 return decoderError(this.fatal)29 }30 // 2. If byte is end-of-stream and Big5 lead is 0x00, return31 // finished.32 if (bite === end_of_stream && this.Big5_lead === 0x00)33 return finished34 // 3. If Big5 lead is not 0x00, let lead be Big5 lead, let35 // pointer be null, set Big5 lead to 0x00, and then run these36 // substeps:37 if (this.Big5_lead !== 0x00) {38 const lead = this.Big5_lead39 let pointer = null40 this.Big5_lead = 0x0041 // 1. Let offset be 0x40 if byte is less than 0x7F and 0x6242 // otherwise.43 const offset = bite < 0x7F ? 0x40 : 0x6244 // 2. If byte is in the range 0x40 to 0x7E, inclusive, or 0xA145 // to 0xFE, inclusive, set pointer to (lead â 0x81) Ã 157 +46 // (byte â offset).47 if (inRange(bite, 0x40, 0x7E) || inRange(bite, 0xA1, 0xFE))48 pointer = (lead - 0x81) * 157 + (bite - offset)49 // 3. If there is a row in the table below whose first column50 // is pointer, return the two code points listed in its second51 // column52 // Pointer | Code points53 // --------+--------------54 // 1133 | U+00CA U+030455 // 1135 | U+00CA U+030C56 // 1164 | U+00EA U+030457 // 1166 | U+00EA U+030C58 switch (pointer) {59 case 1133: return [0x00CA, 0x0304]60 case 1135: return [0x00CA, 0x030C]61 case 1164: return [0x00EA, 0x0304]62 case 1166: return [0x00EA, 0x030C]63 }64 // 4. Let code point be null if pointer is null and the index65 // code point for pointer in index Big5 otherwise.66 const code_point = (pointer === null) ? null :67 indexCodePointFor(pointer, index('big5'))68 // 5. If code point is null and byte is an ASCII byte, prepend69 // byte to stream.70 if (code_point === null && isASCIIByte(bite))71 stream.prepend(bite)72 // 6. If code point is null, return error.73 if (code_point === null)74 return decoderError(this.fatal)75 // 7. Return a code point whose value is code point.76 return code_point77 }78 // 4. If byte is an ASCII byte, return a code point whose value79 // is byte.80 if (isASCIIByte(bite))81 return bite82 // 5. If byte is in the range 0x81 to 0xFE, inclusive, set Big583 // lead to byte and return continue.84 if (inRange(bite, 0x81, 0xFE)) {85 this.Big5_lead = bite86 return null87 }88 // 6. Return error.89 return decoderError(this.fatal)90 }91}92// 12.1.2 Big5 encoder93/**94 * @implements {Encoder}95 */96class Big5Encoder {97 constructor() {98 /**99 * @param {Stream} stream Input stream.100 * @param {number} code_point Next code point read from the stream.101 */102 this.handler = function(stream, code_point) {103 // 1. If code point is end-of-stream, return finished.104 if (code_point === end_of_stream)105 return finished106 // 2. If code point is an ASCII code point, return a byte whose107 // value is code point.108 if (isASCIICodePoint(code_point))109 return code_point110 // 3. Let pointer be the index Big5 pointer for code point.111 const pointer = indexBig5PointerFor(code_point)112 // 4. If pointer is null, return error with code point.113 if (pointer === null)114 return encoderError(code_point)115 // 5. Let lead be floor(pointer / 157) + 0x81.116 const lead = floor(pointer / 157) + 0x81117 // 6. If lead is less than 0xA1, return error with code point.118 if (lead < 0xA1)119 return encoderError(code_point)120 // 7. Let trail be pointer % 157.121 const trail = pointer % 157122 // 8. Let offset be 0x40 if trail is less than 0x3F and 0x62123 // otherwise.124 const offset = trail < 0x3F ? 0x40 : 0x62125 // Return two bytes whose values are lead and trail + offset.126 return [lead, trail + offset]127 }128 }129}130module.exports.Big5Decoder = Big5Decoder...
index.d.ts
Source:index.d.ts
1export * from './Big5Decoder';...
Using AI Code Generation
1var decoder = new TextDecoder('big5');2var bytes = [0x82, 0x4F, 0x82, 0x6F, 0x82, 0x8F, 0x82, 0xAF, 0x82, 0xCF, 0x82, 0xEF];3var view = new Uint8Array(bytes);4var decodedString = decoder.decode(view);5console.log(decodedString);6var decoder = new TextDecoder('utf-16le');7var bytes = [0x82, 0x4F, 0x82, 0x6F, 0x82, 0x8F, 0x82, 0xAF, 0x82, 0xCF, 0x82, 0xEF];8var view = new Uint8Array(bytes);9var decodedString = decoder.decode(view);10console.log(decodedString);11var decoder = new TextDecoder('utf-16be');12var bytes = [0x82, 0x4F, 0x82, 0x6F, 0x82, 0x8F, 0x82, 0xAF, 0x82, 0xCF, 0x82, 0xEF];13var view = new Uint8Array(bytes);14var decodedString = decoder.decode(view);15console.log(decodedString);16var decoder = new TextDecoder('utf-32le');17var bytes = [0x82, 0x4F, 0x82, 0x6F, 0x82, 0x8F, 0x82, 0xAF, 0x82, 0xCF, 0x82, 0xEF];18var view = new Uint8Array(bytes
Using AI Code Generation
1var wptools = require('wptools');2var fs = require('fs');3var big5 = require('big5');4var iconv = require('iconv-lite');5var request = require('request');6var wiki = wptools.page('臺灣');7wiki.get(function(err, data) {8 if (err) {9 console.log(err);10 }11 else {12 var content = data.content;13 var content2 = iconv.decode( content, 'big5' );14 fs.writeFile('test.txt', content2, function (err) {15 if (err) return console.log(err);16 console.log('Hello World > helloworld.txt');17 });18 }19});
Using AI Code Generation
1var wptextdecoder = new TextDecoder('big5');2var string = wptextdecoder.decode(new Uint8Array([0x88, 0x9d, 0x88, 0x9e]));3console.log(string);4var wptextdecoder = new TextDecoder('big5');5var string = wptextdecoder.decode(new Uint8Array([0x88, 0x9d, 0x88, 0x9e]));6console.log(string);7var wptextdecoder = new TextDecoder('big5');8var string = wptextdecoder.decode(new Uint8Array([0x88, 0x9d, 0x88, 0x9e]));9console.log(string);10var wptextdecoder = new TextDecoder('big5');11var string = wptextdecoder.decode(new Uint8Array([0x88, 0x9d, 0x88, 0x9e]));12console.log(string);13var wptextdecoder = new TextDecoder('big5');14var string = wptextdecoder.decode(new Uint8Array([0x88, 0x9d, 0x88, 0x9e]));15console.log(string);16var wptextdecoder = new TextDecoder('big5');17var string = wptextdecoder.decode(new Uint8Array([0x88, 0x9d, 0x88, 0x9e]));18console.log(string);
Using AI Code Generation
1var decoder = new TextDecoder("big5");2var buffer = new Uint8Array([0xa4, 0xa4]);3var result = decoder.decode(buffer);4if (result == "一")5 postMessage("PASS");6 postMessage("FAIL");
Using AI Code Generation
1var decoder = new TextDecoder('big5');2var decoded = decoder.decode(new Uint8Array([0x8f, 0xb6]));3console.log(decoded);4var encoder = new TextEncoder('big5');5var encoded = encoder.encode('�');6console.log(encoded);7var decoder = new TextDecoder('big5');8var decoded = decoder.decode(new Uint8Array([0x8f, 0xb6]));9console.log(decoded);10var encoder = new TextEncoder('big5');11var encoded = encoder.encode('�');12console.log(encoded);13var decoder = new TextDecoder('big5');14var decoded = decoder.decode(new Uint8Array([0x8f, 0xb6]));15console.log(decoded);16var encoder = new TextEncoder('big5');17var encoded = encoder.encode('�');18console.log(encoded);19var decoder = new TextDecoder('big5');20var decoded = decoder.decode(new Uint8Array([0x8f, 0xb6]));21console.log(decoded);22var encoder = new TextEncoder('big5');23var encoded = encoder.encode('�');24console.log(encoded);25var decoder = new TextDecoder('big5');26var decoded = decoder.decode(new Uint8Array([0x8f, 0xb6]));27console.log(decoded);
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!