JS 中文 UTF-8编码互转

JavaScript010

JS 中文 UTF-8编码互转,第1张

中文转UTF-8:

let str = '中文内容'    //待转换中文

escape(str ).replace(/(%u)(\w{4})/gi, "$2")

UTF-8转中文:

let str = '徐恒'    //待转换UTF-8

unescape(str .replace(//g, '%u').replace(//g, ''))

java不同编码之间进行转换,都需要使用unicode作为中转。以utf-8转gbk为例,示例代码如下: String t = "这是一个字符串aaa111" String utf8 = new String(t.getBytes( "UTF-8")) System.out.println(utf8) String unicode = new String(utf8.getBytes(),"UTF-8") System.out.println(unicode) String gbk = new String(unicode.getBytes("GBK")) System.out.println(gbk)

JS中的字符串本身就是以字符来存储,而非字节,所以没有所谓的gbk或utf8;而encodeURI本身就会把字串以utf8编码进行url编码;想要以gbk形式转换,就应该以Buffer来按字节处理。应该这样写:var titleBuffer = new Iconv('UTF-8', 'GBK').convert('数学') // 不要toString,直接以字节数组形式存于buffer。

(1)utf8_encode是PowerBuilder的函数,该函数将 data 字符串转换为 UTF-8 编码,并返回编码后的字符串。UTF-8 是一种用于将宽字符值转换为字节流的 Unicode 的标准机制。

(2)GBK即汉字内码扩展规范,K为扩展的汉语拼音中"扩"字的声母。英文全称Chinese Internal Code Specification。GBK编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集--基本集》,1980年由国家标准总局发布。基本集共收入汉字6763个和非汉字图形字符682个,通行于中国大陆。新加坡等地也使用此编码。GBK是对GB2312-80的扩展,也就是CP936字码表 (Code Page 936)的扩展(之前CP936和GB 2312-80一模一样)。