Unicode 与 ANSI 的编码转换
来源:互联网 发布:怎么让眼白变清澈知乎 编辑:程序博客网 时间:2024/05/16 12:19
Unicode 与 ANSI 的编码转换
ANSI 编码与字符之间的转换
function str2asc(str)
{
var n = UnicodeToAnsi(str.charCodeAt(0));
var s = n.toString(16);
return s.toUpperCase();
}
function asc2str(code)
{
var n = AnsiToUnicode(code);
return String.fromCharCode(n);
}
{
var n = UnicodeToAnsi(str.charCodeAt(0));
var s = n.toString(16);
return s.toUpperCase();
}
function asc2str(code)
{
var n = AnsiToUnicode(code);
return String.fromCharCode(n);
}
URL 编码与解码
function urlEncode(str)
{
var ret = "";
var strSpecial = "!\"#$%&’()*+,/:;<=>?[]^`{|}~%";
var tt = "";
for(var i = 0; i < str.length; i++)
{
var chr = str.charAt(i);
var c = str2asc(chr);
tt += chr + ":" + c + "n";
if (parseInt("0x" + c) > 0x7f)
{
ret += "%" + c.slice(0,2) + "%" + c.slice(-2);
}
else
{
if (chr == " ")
ret += "+";
else if (strSpecial.indexOf(chr) != -1)
ret += "%" + c.toString(16);
else
ret += chr;
}
}
return ret;
}
function urlDecode(str)
{
var ret = "";
for (var i = 0; i < str.length; i++)
{
var chr = str.charAt(i);
if (chr == "+")
{
ret += " ";
}
else if (chr == "%")
{
var asc = str.substring(i+1, i+3);
if (parseInt("0x"+asc) > 0x7f)
{
ret += asc2str(parseInt("0x" + asc+str.substring(i+4, i+6)));
i += 5;
}
else
{
ret += asc2str(parseInt("0x"+asc));
i += 2;
}
}
else
{
ret += chr;
}
}
return ret;
}
{
var ret = "";
var strSpecial = "!\"#$%&’()*+,/:;<=>?[]^`{|}~%";
var tt = "";
for(var i = 0; i < str.length; i++)
{
var chr = str.charAt(i);
var c = str2asc(chr);
tt += chr + ":" + c + "n";
if (parseInt("0x" + c) > 0x7f)
{
ret += "%" + c.slice(0,2) + "%" + c.slice(-2);
}
else
{
if (chr == " ")
ret += "+";
else if (strSpecial.indexOf(chr) != -1)
ret += "%" + c.toString(16);
else
ret += chr;
}
}
return ret;
}
function urlDecode(str)
{
var ret = "";
for (var i = 0; i < str.length; i++)
{
var chr = str.charAt(i);
if (chr == "+")
{
ret += " ";
}
else if (chr == "%")
{
var asc = str.substring(i+1, i+3);
if (parseInt("0x"+asc) > 0x7f)
{
ret += asc2str(parseInt("0x" + asc+str.substring(i+4, i+6)));
i += 5;
}
else
{
ret += asc2str(parseInt("0x"+asc));
i += 2;
}
}
else
{
ret += chr;
}
}
return ret;
}
示例
document.write(urlEncode("千一网络"));
document.write(urlDecode("%C7%A7%D2%BB%CD%F8%C2%E7"));
document.write(urlDecode("%C7%A7%D2%BB%CD%F8%C2%E7"));
- Unicode 与 ANSI 的编码转换
- ANSI与Unicode之间的编码转换
- ANSI与Unicode之间的编码转换
- UNICODE与ANSI编码的字符间的相互转换
- Ansi与Unicode编码的转换及占用字节数
- ANSI与Unicode的转换
- unicode,ansi编码转换
- UNICODE与ANSI转换
- ansi 与unicode转换
- Unicode与Ansi及UTF8与Ansi之间的转换
- 【谨慎】ANSI与Unicode转换的注意事项
- ANSI与UNICODE的相互转换
- Unicode编码和ANSI编码相互转换
- Unicode与ANSI字符串转换
- Unicode 与 ANSI 字符串转换
- Unicode与ANSI字符转换
- Unicode 与 ANSI 字符串转换
- Unicode 与 ANSI 字符串转换
- Java 类加载器( ClassLoader)浅析
- 修改mysql提示符
- 【理想流】项目管理本质论
- Java 类加载体系与ContextClassLoader
- 使用ConnectifyInstaller软件模拟wifi热点,实现网络共享
- Unicode 与 ANSI 的编码转换
- POJ 1502 MPI Maelstrom
- j2ee环境的搭建
- 编码实验
- mysql使用技巧
- Office Tab 在 Word、Excel、PowerPoint 加入分页标签功能
- web
- 物化视图的快速刷新
- 了解epoll, 待深入理解。