![](/img/trans.png)
[英]how to convert a string containing utf8 hex codes to a javascript string
[英]How to make a switch case with UTF8 string in JavaScript?
我有这个功能一直在工作,但只是为了“µ”的可能性,它不起作用:
function obtenirFacteur(multiple){
var facteur = 1;
switch(multiple){
case "T" :
facteur = 1000000000000;
break;
case "G" :
facteur = 1000000000;
case "M" :
facteur = 1000000;
break;
case "K" :
facteur = 1000;
break;
case "h" :
facteur = 100;
break;
case "da" :
facteur = 10;
break;
case "d" :
facteur = 0.1;
break;
case "c" :
facteur = 0.01;
break;
case "m" :
facteur = 0.001;
break;
case "μ":
facteur = 0.000001;
break;
case "n" :
facteur = 0.000000001;
break;
case "p" :
facteur = 0.000000000001;
break;
case "f" :
facteur = 0.000000000000001;
break;
}
return facteur;
}
但它不适用于字符串“µ”。
我的文件在记事本++中没有BOM的UTF8格式,通常适用于所有情况。
var mu = "µ"
console.log("µ".localeCompare(mu, "pl");)
应该没事
我的文件是在记事本++中没有 BOM 的 UTF8,
输入字母后检查它是否保持原样,我猜它在粘贴后会发生变化,您也可以尝试使用带重音的字母á
并检查文件是否仍然是没有 BOM 的 UTF-8,如果不是,请将其改回它,如果它变成别的东西,修复它,从那时起就可以了
无法在 Node 的 REPL 中重现您的问题
$ node --version
v8.9.4
$ node
> function test(m) {
... switch(m) {
..... case "μ": return 100; break;
..... default: return 0; break;
..... }
... }
undefined
> test('a')
0
> test('μ')
100
>
即使使用LC_ALL=C
PS:我知道这不是答案,但 SO 还没有让我发表评论。
您从文件中读取的数据已编码,您必须对其进行解码。
使用以下
switch(decodeURIComponent(multiple))
例如
let decodedData = decodeURIComponent(`%c2%b5`) console.log('decodedData : ', decodedData)
我的解决方案真的不是最好的,但我应该继续,所以:
function obtenirFacteur(multiple){ var facteur = 1; if(multiple)="µ"){ multiple = mu; } switch(multiple){ case "T" : facteur = 1000000000000; break; case "G" : facteur = 1000000000; case "M" : facteur = 1000000; break; case "K" : facteur = 1000; break; case "h" : facteur = 100; break; case "da" : facteur = 10; break; case "d" : facteur = 0.1; break; case "c" : facteur = 0.01; break; case "m" : facteur = 0.001; break; case "mu": facteur = 0.000001; break; case "n" : facteur = 0.000000001; break; case "p" : facteur = 0.000000000001; break; case "f" : facteur = 0.000000000000001; break; } return facteur; }
当它对你们中的一些人起作用时,它可能只是导航器的一种行为,而不是编程问题。 谢谢你的帮助 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.