谁帮我把这段javascript翻译成vbscript 100分送上!!谢谢

yllaji 2003-05-09 06:04:53
翻译好后 要好用哦~~

<script>

function chineseFromUtf8Url(strUtf8)
{
var bstr = "";
var nOffset = 0; // processing point on strUtf8

if( strUtf8 == "" )
return "";

strUtf8 = strUtf8.toLowerCase();
nOffset = strUtf8.indexOf("%e");
if( nOffset == -1 )
return strUtf8;

while( nOffset != -1 )
{
bstr += strUtf8.substr(0, nOffset);
strUtf8 = strUtf8.substr(nOffset, strUtf8.length - nOffset);
if( strUtf8 == "" || strUtf8.length < 9 ) // bad string
return bstr;

bstr += utf8CodeToChineseChar(strUtf8.substr(0, 9));
strUtf8 = strUtf8.substr(9, strUtf8.length - 9);
nOffset = strUtf8.indexOf("%e");
}

return bstr + strUtf8;
}

function unicodeFromUtf8(strUtf8)
{
var bstr = "";
var nTotalChars = strUtf8.length; // total chars to be processed.
var nOffset = 0; // processing point on strUtf8
var nRemainingBytes = nTotalChars; // how many bytes left to be converted
var nOutputPosition = 0;
var iCode, iCode1, iCode2; // the value of the unicode.

while (nOffset < nTotalChars)
{
iCode = strUtf8.charCodeAt(nOffset);
if ((iCode & 0x80) == 0) // 1 byte.
{
if ( nRemainingBytes < 1 ) // not enough data
break;

bstr += String.fromCharCode(iCode & 0x7F);
nOffset ++;
nRemainingBytes -= 1;
}
else if ((iCode & 0xE0) == 0xC0) // 2 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
if ( nRemainingBytes < 2 || // not enough data
(iCode1 & 0xC0) != 0x80 ) // invalid pattern
{
break;
}

bstr += String.fromCharCode(((iCode & 0x3F) << 6) | ( iCode1 & 0x3F));
nOffset += 2;
nRemainingBytes -= 2;
}
else if ((iCode & 0xF0) == 0xE0) // 3 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
iCode2 = strUtf8.charCodeAt(nOffset + 2);
if ( nRemainingBytes < 3 || // not enough data
(iCode1 & 0xC0) != 0x80 || // invalid pattern
(iCode2 & 0xC0) != 0x80 )
{
break;
}

bstr += String.fromCharCode(((iCode & 0x0F) << 12) |
((iCode1 & 0x3F) << 6) |
(iCode2 & 0x3F));
nOffset += 3;
nRemainingBytes -= 3;
}
else // 4 or more bytes -- unsupported
break;
}

if (nRemainingBytes != 0)
{
// bad UTF8 string.
return "";
}

return bstr;
}

function utf8CodeToChineseChar(strUtf8)
{
var iCode, iCode1, iCode2;
iCode = parseInt("0x" + strUtf8.substr(1, 2));
iCode1 = parseInt("0x" + strUtf8.substr(4, 2));
iCode2 = parseInt("0x" + strUtf8.substr(7, 2));

return String.fromCharCode(((iCode & 0x0F) << 12) |
((iCode1 & 0x3F) << 6) |
(iCode2 & 0x3F));
}
alert(chineseFromUtf8Url("%E5%90%8D%E5%AD%97.xxxx.com"))
</script>
...全文
30 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yllaji 2003-05-09
  • 打赏
  • 举报
回复
allforly(白衣胜血)

大哥果然厉害…… 我都不知道 这样都可以并存两种语言!!

好厉害……

如果再没人翻译 100分给 白大哥了!!!
yllaji 2003-05-09
  • 打赏
  • 举报
回复
大哥门 我知道 这个是 客户的代码~~!!

我要写成 asp 的 function 进行调用 所以要转成 vbscript

我习惯用 vbscript 写 asp 总不能在 vbscript 里调用 javascript 的 function 吧?

这么多来说风凉话的 好伤心!!

allforly 2003-05-09
  • 打赏
  • 举报
回复
谁说一个页面不能并存两种语言?
<%@language="vbscript"%>
<%Response.Write a%>
<script language="javascript" runat="Server">
var a = "hello"
</script>
youngest 2003-05-09
  • 打赏
  • 举报
回复
对,直接在客户端用就行了
youbest 2003-05-09
  • 打赏
  • 举报
回复
你现在是客户端程序,建议你用JavaScript,因为客户端默认是JavaScript.
possible_Y 2003-05-09
  • 打赏
  • 举报
回复
你这是客户端代码,和asp没有关系
直接在客户端用就可以了,而且可以被客户端的vbscript直接调用
xuya 2003-05-09
  • 打赏
  • 举报
回复
可以的啊!你这里又没有涉及到服务器端的代码啊!
yllaji 2003-05-09
  • 打赏
  • 举报
回复
我从来就用 vbscript 写 asp

asp 里不能同时两种语言在一个页面拉~~~~

大哥们…… 帮忙呀~~ 要不送 200 分!!
fenlin 2003-05-09
  • 打赏
  • 举报
回复
直接调用就行了,为什么要译成 vbscript ? Javascript更好用啊。
cpp2017 2003-05-09
  • 打赏
  • 举报
回复
同意楼上,直接用,再说这么长,
Reker熊 2003-05-09
  • 打赏
  • 举报
回复
直接調用不就好了

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧