gpt4 book ai didi

javascript - 对于不同的编码,相当于 JavaScript 中 Java 的 getBytes

转载 作者:太空宇宙 更新时间:2023-11-04 15:28:57 27 4
gpt4 key购买 nike

我有一个 Java 函数,需要将其转换为 JavaScript,其中包含以下行:

byte[] bytes = ttText.getBytes(Charset.forName("Cp1250"));

ttText 是字符串。我也需要这样做。我需要获取以 Cp1250 (windows-1250) 编码的字符串的字节,修改这些字节,然后将其转换回字符串。有没有办法在 JavaScript 中做到这一点?

我发现例如TextEncoderTextDecoder但对 UTF-8 以外的编码的支持不久前已被删除。

最佳答案

var cp1250 = '€ ‚ „…†‡ ‰Š‹ŚŤŽŹ ‘’“”•–— ™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙';

function encodeCP1250(text) {
var buf = [];
for (var i = 0; i < text.length; i++) {
var code = cp1250.indexOf(text[i]);
if (code >= 0) {
code += 128;
} else {
code = text.charCodeAt(i);
}
buf.push(code > 255 ? 32 : code);
}
return buf;
}

function decodeCP1250(buf) {
var text = '';
for (var i = 0; i < buf.length; i++) {
var code = buf[i];
text += code > 127 ? cp1250[code - 128] : String.fromCharCode(code);
}
return text;
}

var buf = encodeCP1250('AÁÂĂÄ'); // [65, 193, 194, 195, 196]
var text = decodeCP1250(buf); // 'AÁÂĂÄ'

更新: Chrome 和 Firefox 有 TextDecoder作为实验性功能,但 TextEncoder 仅适用于 UTF-8。

关于javascript - 对于不同的编码,相当于 JavaScript 中 Java 的 getBytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968157/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com