蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[Asp] 关于utf8 的字符长度判断

在一些新闻列表中,为了是列表整齐,需要限制每一行的字符长度,因为中文为全角,e文为半角,所以在裁取的时候往往将一个中文计算为两个长度单位,e文则一个长度单位.

在以前的 gb2312 中可以使用 asc 函数 返回每一个字符串首字母的 ANSI 字符代码:
通过 ANSI 的值判断字符是否为中文,然后计算其长度单位

想请教一下各位,在 utf8 编码中,怎么判断呢?


这是以前 gb2312  下的字符截取函数

    '//截取指定长度字符串
    '//返回类型:字符串
    Public Function CutStr(str,strlen)
        dim l,t,c,m_i
        l=len(str)
        t=0
        for m_i=1 to l
            c=Abs(Asc(Mid(str,m_i,1)))'asc 返回每一个字符串首字母的 ANSI 字符代码:   
            if c>255 then
                t=t+2
            else
                t=t+1
            end if
   
            if t>=strlen then
                CutStr=left(str,m_i)&"..."
                exit for
            else
                CutStr=str
            end if
        next
    End Function




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com