![](/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.