2017-07-02 51 views
0

根據this site呈現在終端擴展的ASCII字符,ASCII擴展的字符代碼176,177和178對應於三個字符包括在矩形的不同色調:如何使用的NodeJS

characters

在這裏更詳細地,字符178:

character

現在,根據https://mathiasbynens.be/notes/javascript-escapes,我應該能夠逃脫任何ASCII字符代碼低於256,例如,其十六進制轉義序列。所以,176將是十六進制的\xB0。但是,如上所述,我沒有獲得預期的字符,而是獲得了「學位符號」'°'。學位符號是ASCII 248,而不是176,所以....我做錯了什麼?

+0

的關鍵點是 「* IBM開發的8位ASCII碼的延伸,被稱爲 」代碼頁437「 *」。這是許多擴展之一。 http://kunststube.net/encoding/ – Bergi

回答

3

JavaScript使用Unicode,而不是擴展的ASCII。您可以通過使用String.prototype.charCodeAt()找到的Unicode與ASCII符號,然後輸出他們String.prototype.fromCharCode()

console.log("░".charCodeAt(0)); // 9617 
 
console.log("▒".charCodeAt(0)); // 9618 
 
console.log("▓".charCodeAt(0)); // 9619 
 

 
console.log(String.fromCharCode(9617)); // ░ 
 
console.log(String.fromCharCode(9618)); // ▒ 
 
console.log(String.fromCharCode(9619)); // ▓

希望這有助於! :)

+0

謝謝!它讓我困惑的是,在https://mathiasbynens.be/notes/javascript-escapes#hexadecimal中,它說「任何字符代碼低於256的字符(即擴展ASCII範圍內的任何字符)都可以使用其十六進制編碼字符代碼「。他們的關鍵是「字符代碼」,它指的是Unicode字符代碼,而不是ASCII ......我錯過了。 – jotadepicas