<SCRIPT LANGUAGE="JavaScript">
<!--
function EncodeUtf8(s1)
{
var s = escape(s1);
var sa = s.split("%");
var retV ="";
if(sa[0] != "")
{
retV = sa[0];
}
for(var i = 1; i < sa.length; i ++)
{
if(sa[i].substring(0,1) == "u")
{
retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)));
}
else retV += "%" + sa[i];
}
return retV;
}
function Str2Hex(s)
{
var c = "";
var n;
var ss = "0123456789ABCDEF";
var digS = "";
for(var i = 0; i < s.length; i ++)
{
c = s.charAt(i);
n = ss.indexOf(c);
digS += Dec2Dig(eval(n));
}
//return value;
return digS;
}
function Dec2Dig(n1)
{
var s = "";
var n2 = 0;
for(var i = 0; i < 4; i++)
{
n2 = Math.pow(2,3 - i);
if(n1 >= n2)
{
s += '1';
n1 = n1 - n2;
}
else
s += '0';
}
return s;
}
function Dig2Dec(s)
{
var retV = 0;
if(s.length == 4)
{
for(var i = 0; i < 4; i ++)
{
retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);
}
return retV;
}
return -1;
}
function Hex2Utf8(s)
{
var retS = "";
var tempS = "";
var ss = "";
if(s.length == 16)
{
tempS = "1110" + s.substring(0, 4);
tempS += "10" + s.substring(4, 10);
tempS += "10" + s.substring(10,16);
var sss = "0123456789ABCDEF";
for(var i = 0; i < 3; i ++)
{
retS += "%";
ss = tempS.substring(i * 8, (eval(i)+1)*8);
retS += sss.charAt(Dig2Dec(ss.substring(0,4)));
retS += sss.charAt(Dig2Dec(ss.substring(4,8)));
}
return retS;
}
return "";
}
function revertUTF8(szInput)
{
var x,wch,wch1,wch2,uch="",szRet="";
for (x=0; x<szInput.length; x++)
{
if (szInput.charAt(x)=="%")
{
wch =parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
if (!wch) {break;}
if (!(wch & 0x80))
{
wch = wch;
}
else if (!(wch & 0x20))
{
x++;
wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
wch = (wch & 0x1F)<< 6;
wch1 = wch1 & 0x3F;
wch = wch + wch1;
}
else
{
x++;
wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
x++;
wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
wch = (wch & 0x0F)<< 12;
wch1 = (wch1 & 0x3F)<< 6;
wch2 = (wch2 & 0x3F);
wch = wch + wch1 + wch2;
}
szRet += String.fromCharCode(wch);
}
else
{
szRet += szInput.charAt(x);
}
}
return(szRet);
}
document.write(EncodeUtf8("夺载基本原理"));
document.write(revertUTF8("%E5%A4%BA%E8%BD%BD%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86"));
//-->
</SCRIPT>
分享到:
相关推荐
根据提供的文件信息,本文将详细解释如何在JavaScript中实现GB2312编码与UTF-8编码之间的相互转换。此技术对于处理不同编码格式的文本数据尤为重要,尤其是在Web开发领域中,经常需要处理多种字符集的数据。 ### GB...
1. **GBK到UTF-8的转换**:该工具能够将使用GBK编码的文本或文件(如HTML、CSS、JavaScript等网页文件)转换为UTF-8编码,以适应更多网络环境,确保非简体中文环境下网页的正常显示。 2. **UTF-8到GBK的转换**:...
描述中提到的“将 GB、BIG5、UTF-8 文件相互转换”,意味着该程序具备了双向转换功能,不仅可以将GB或BIG5编码的文件转换为UTF-8,还可以将UTF-8编码的文件转换成GB或BIG5。这对于需要在不同编码系统间进行数据迁移...
utf82hex 用法 > var utf82hex = require ( 'utf82hex' ) undefined > utf82hex . encode ( "漢字" ) // This is represented as unicode ...查看“ UTF-8(十六进制)”部分,并将其与输出进行比较以了解其工作原理。
标题中的“UTF8GBK互转换工具”是一款软件或在线服务,专门用于在UTF-8和GBK两种字符编码之间进行转换。UTF-8和GBK是计算机领域中常见的字符编码标准,它们各自有不同的特性和应用场景。 UTF-8(Unicode ...
本文主要探讨了如何在JavaScript中实现Unicode字符串与UTF-8字节数据之间的转换。首先,我们需要理解Unicode和UTF-8之间的关系。Unicode是一个字符集,包含世界上几乎所有的字符,而UTF-8是一种变长编码方式,根据...
例:中 D6D0 国 B9FA http://www.mytju.com/classcode/tools/encode_gb2312.asp 开发小程序蓝牙时,发送中文,硬件蓝牙要求gbk2312转码,我费了九牛二虎之力,终于找到简单有效的方法
中文字符在计算机中通常使用Unicode编码,包括GB2312、GBK、UTF-8等格式,其中UTF-8是最常用的一种。Unicode包含了简体和繁体中文的所有字符,使得转换成为可能。 转换算法通常有两种常见方式: 1. 字典法:通过...
以下是两种在JavaScript中进行GB2312与UTF-8编码转换的方法。 **方法一:使用VBScript** 这段代码利用了VBScript的MidB函数来处理GBK编码的数据,并通过JavaScript的内置函数进行转换。具体步骤如下: 1. 将GBK...
个是就是把汉字和Unicode编码互转的javascript代码,也是从网上找到了,也许有人用得着!!
2:UTF-8码的插入:切换繁体中文浏览</a><script language="JavaScript" src="js125/big52gb.Js" type="text/javascript"> 上方设置默认为打开简体显示,如果需打开默认繁体显示,请看如下操作 Std_StranJF.js...
UTF-8的优点在于其对ASCII字符的兼容性——ASCII字符在UTF-8中仅需一个字节表示,与ASCII编码完全一致,这使得UTF-8在互联网上成为最广泛接受的编码格式。 除了UTF-8,Unicode还有其他实现,如UTF-16和UTF-32。UTF-...
在这个项目中,明确指出文件需要是UTF-8编码,这是因为UTF-8是一种广泛使用的Unicode编码,它可以表示所有Unicode字符,包括简体和繁体中文,且兼容性极佳。 其次,C#是一种面向对象的编程语言,由Microsoft开发,...
4. **编码转换**:由于汉字在不同编码下表示形式不同,如GBK和UTF-8,转换时需要注意编码的兼容性。 5. **性能优化**:如果处理大量汉字,需要考虑性能问题,如使用哈希查找优化查找速度。 6. **测试**:确保各种...
在Notepad++中,"UNICODE"指的是UTF-16编码,这是一种广泛使用的Unicode实现方式,能够处理世界上几乎所有的文字系统。通过使用UNICODE,Notepad++能够正确地显示和保存包含中文字符的文件,这对于中文开发者来说...
8. **dart:convert**:提供了一组转换器,用于处理JSON、UTF-8、Base64等编码格式的转换。 9. **Flutter框架**:Dart也是Flutter框架的主要语言,Flutter是一个用于构建高性能、高保真度的移动、Web和桌面应用程序...
1. **字符编码基础**:简体和繁体转换涉及到字符编码,如GBK、UTF-8等,理解各种编码格式的区别和互转方法是必要的。 2. **JavaScript的字符串处理**:在JavaScript中,可以使用`String.prototype.replace()`方法...
Std_StranJF.js文件只支持GB2312码,big52gb.js支持utf-8。 一、将繁简互换JS文件上传至空间: 如果您调用的是<script language="javascript" src="/js/Std_StranJF.Js">,则将繁简互换JS文件(Std_StranJF.Js)...
在《UNICODE系列讲座》的CHM文件中,读者可以逐章浏览,学习Unicode的各个方面,包括Unicode的历史、编码方案(如UTF-8、UTF-16)、Unicode与ASCII的转换、Unicode在操作系统和编程语言中的实现等。 书中可能还会...
Unicode的实现方式有很多,如UTF-8、UTF-16等,它们在存储和传输字符时采用不同的位数。 NATIVE/ASCII编码在线互转 v1.0工具的核心功能就是将含有本地字符的Unicode编码文本转换为ASCII编码,或者反过来。在处理...