| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1068 人关注过本帖, 1 人收藏
标题:求助,关于域名里的中文……
只看楼主 加入收藏
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
结帖率:90.32%
收藏(1)
已结贴  问题点数:20 回复次数:13 
求助,关于域名里的中文……
求助,如何把一串中文汉字在网址里变成类似:%E7%B2%BE%E7%BC%96%E8%8B%B1%E6%B1%89%E8%AF%8D%E5%85%B8的编码。。
搜索更多相关主题的帖子: 如何 汉字 中文 
2012-09-19 09:12
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
%E7%B2%BE%E7%BC%96%E8%8B%B1%E6%B1%89%E8%AF%8D%E5%85%B8
用16进制数据转换试试
2012-09-19 12:39
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
收藏
得分:0 
中=%E4%B8%AD
中国=%E4%B8%AD%E5%9B%BD
就这样对应,不知怎么转换。。。
2012-09-21 09:00
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
收藏
得分:0 
好像是叫URI编码。。不会转换。。求助。。
2012-09-21 10:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
那是utf-8编码

授人以渔,不授人以鱼。
2012-09-21 10:31
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
收藏
得分:0 
Strconv(lcStr,9)
可我这样转也得不出那个串字符呢。
2012-09-21 10:36
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
转了之后,得到的是字符串,逐个字节取其内码,用十六进制看。

授人以渔,不授人以鱼。
2012-09-21 10:43
calin
Rank: 2
等 级:论坛游民
帖 子:108
专家分:50
注 册:2010-4-11
收藏
得分:0 
tonydeng哥哥,我还是弄不出那一串东西,能帮我写个具体一点的吗?多谢了。。。
2012-09-21 10:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
str = STRCONV("中国",9)
FOR i = 1 TO LEN(str)
    ? ASC(SUBSTR(str, i, 1)
NEXT
自己想办法把10进制的数字转成16进制字符串!

[ 本帖最后由 TonyDeng 于 2012-9-21 11:18 编辑 ]

授人以渔,不授人以鱼。
2012-09-21 11:13
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:10 
回复 9楼 TonyDeng
程序代码:
lcString = '中国'
lcutf8 = Strconv(lcString,9)
lcUrl = ''
For i = 1 To Len(lcutf8)
    lcUrl = lcUrl + '%' + stol(Asc(Substr(lcutf8,i,1)))
Next
? lcUrl
Function stol &&将10进制转成16进制,仅对此程序有效
Lparameters num
m.l = ''
n1 = Int(num / 16)
n2 = num % 16
Do Case
    Case n1 == 10
        m.l = 'A'
    Case n1 == 11
        m.l = 'B'
    Case n1 ==12
        m.l = 'C'
    Case n1 = 13
        m.l = 'D'
    Case n1 == 14
        m.l = 'E'
    Case n1 == 15
        m.l = 'F'
    Otherwise
        m.l = Transform(n1)
Endcase 

Do Case
    Case n2 == 10
        m.l = m.l + 'A'
    Case n2 == 11
        m.l = m.l + 'B'
    Case n2 ==12
        m.l = m.l + 'C'
    Case n2 = 13
        m.l = m.l + 'D'
    Case n2 == 14
        m.l = m.l + 'E'
    Case n2 == 15
        m.l = m.l + 'F'
    Otherwise
        m.l = m.l + Transform(n2)
Endcase
Return m.l
Endfunc 
参考一下

个性太多,无法显示
2012-09-21 11:45
快速回复:求助,关于域名里的中文……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037912 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved