字符集转换 € \x80

Charset Conversion € \x80

提问人:Hilton Siegert 提问时间:10/31/2023 更新时间:10/31/2023 访问量:23

问:

我敢肯定我在这里遗漏了一些明显的东西,但我有一个字符串,在某个点上有,我知道这意味着下一部分重复 128 次,或者如果字符是,那么它会重复 55 次。7

所以一个基本函数是这样的:

function GetMultiplier(str){ 
    var M = (/XXX(.)/g).exec(str)[1]; // Where the separator is 'XXX' for example
    if(M=="€") return 128; 
    else if(M=="7") return 55; 
    else return undefined; 
}; 

GetMultiplier('abc123XXX€helloworld'); \\ Would return 128 

所以基本上我需要这个,但无论分隔符之后是什么,它都会返回一个数值。

这是我用来手动解码的字符集的链接。

对不起,解释不好。

JavaScript 字符 进制 ascii utf

评论

0赞 Nick Parsons 10/31/2023
你有理由要映射来控制角色吗?如该链接中所述,to 的映射是 Windows-1252 使用的特定字符集映射。对于此控制字符,存在其他映射没有相同的映射(例如:ISO-8859-1(西欧))(即:128 映射到无)。更准确的值是 8364128128
0赞 Hilton Siegert 10/31/2023
有没有办法将字符反转到 Windows-1252 的映射?
0赞 Nick Parsons 10/31/2023
这很可能需要一些自定义逻辑,或者某种库。如果你能一起工作,那么会给你。 也给。8364'€'.charCodeAt(0)'7'.charCodeAt(0)55

答:

0赞 gog 10/31/2023 #1

使用 instead to 并删除 :matchexec/g

function GetMultiplier(str){ 
    var M = str.match(/XXX(.)/)[1];
    if(M=="€") return 128; 
    else if(M=="7") return 55; 
    else return undefined; 
}; 

a = GetMultiplier('abc123XXX€helloworld'); 
console.log(a)