`

utf-8字符集字符串切断处理

阅读更多
      由于utf-8字符集的中文字符串所占用的字节数是不定的,英文可只占一位。而中文占2位或3位。因此不能采用直接取字符串的方式进行切断,如果这样切断的话就可能会在字符串的尾部开成无效的字符。

     本函数的主要功能就是按指定的长度对utf-8字符集的字符串进行切断,如果字符串的长度大小指定的长度就在尾部加上“...”以表示字符串没有切束。



#对utf-8字符集进行切断处理,返回len个字符,中文和英文字符都当作一个计算。
def sub_utf8 text,len,endss="..."
  t=i=max=0
  slen=text.length
  while t<len
   if text[i]<= 0x7f
    i=i+1
   elsif text[i]<= 0xc0
    i=i+2
   else
    i=i+3
   end
   if(i>=slen)
       max=1
       break
   end
   t=t+1
  end
 
  ret=text[0..i-1]
 
  if max==0
   ret<<endss
  end

  #print " slen:#{slen} get:#{i}================ "
  return ret
end
1
0
分享到:
评论

相关推荐

    UTF-8字符集汉字对照表.txt

    此文本文档是UTF-8字符集中汉字编码对照表,可以用于查看某个汉字在UTF-8编码集中的位置。此编码集对照表非官网下载,如需使用,请提前预估风险。另外,此对照表只用于学习研究,如需用到其他地方,后果自负。

    常用汉字utf-8字符集.txt

    ### 常用汉字UTF-8字符集解析与应用 #### 概述 在数字信息时代,字符编码是数据处理的基础。UTF-8(8位通用转换格式)是一种可变长度的字符编码,用于表示Unicode标准中的字符。《常用汉字utf-8字符集》主要收集了...

    C++ 汉字UTF-8字符串处理类库

    很多人喜欢用CString 或std:string,但是他们的缺点是不能完成汉字各种类型之间的转换,提供三种类库ascString,ucsString,utfString以及工具utfCount,utf8_ucs2_t,tcf8_ucs4_t类库,用于各种字符串之间的直接转换`...

    UTF-8 中文字符集表

    UTF-8 中文 字符集表 免费share UTF-8 ---&gt; Chinese Charset Table

    易语言判断UTF-8字符

    4. **字符串处理技巧**:在易语言中,可以结合其他字符串处理函数,如`取字符串长度`、`截取字符串`等,配合`IsTextUTF8`来实现更复杂的文本操作,例如将非UTF-8字符串转换为UTF-8,或者从UTF-8字符串中提取特定部分...

    utf-8 ansi 字符互转 工具

    这种设计使得UTF-8在处理多种语言混合的文本时具有良好的兼容性。 2. **ANSI**:通常指的是Windows操作系统中的“Windows-1252”编码,是一种固定长度的单字节编码,主要用来表示西欧语言的字符。在早期的Windows...

    Java 所有字符串转UTF-8 万能工具类-GetEncode.java

    不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);

    Patchwork UTF-8:处理UTF-8格式字符串的便携类库

    在处理多语言和国际化(i18n)应用时,UTF-8已经成为广泛使用的字符编码标准,因为它能容纳几乎世界上所有的字符集,包括拉丁文、希腊文、汉字以及各种特殊符号。然而,尽管PHP本身对UTF-8有一定的支持,但在某些...

    UTF-8toGBK_labview编码gbk_LabVIEWUTF-8_utf-8toGbk_

    UTF-8的优势在于对ASCII字符集的兼容性,前128个Unicode字符(包括英文、数字和常见符号)只需要一个字节表示,这使得UTF-8在互联网上广泛使用,因为其与ASCII的兼容性可以减少传输数据量。此外,UTF-8也支持全球大...

    UCS-2转换为utf-8代码

    UCS-2转换为UTF-8代码集完整版 ...UCS-2 转换为 UTF-8 代码集完整版需要考虑多种因素,例如语言处理、特殊字符处理、错误处理等。通过使用 UCS2toUTF8Code 函数和 TStr2UTF8 函数,可以实现 UCS-2 到 UTF-8 的转换。

    PB9转换utf-8例子

    标题中的“PB9转换utf-8例子”指的是在PowerBuilder 9(PB9)环境下将数据从非UTF-8编码转换为UTF-8编码的一种解决方案。由于PB9本身不直接支持这种转换,开发者通常需要利用外部库或者特定的编程技巧来实现这个功能...

    C# 生成xml文件,编码为utf-8方法

    最后,使用 MemoryStream 对象的 ToArray 方法将 XML 数据转换为 byte 数组,然后使用 Encoding.UTF8.GetString 方法将其转换为 UTF-8 编码的字符串。 在上面的代码中,首先创建了一个 MemoryStream 对象,然后创建...

    utf-8 互转 gb2312 转码

    需要注意的是,不是所有UTF-8或GB2312编码的字符串都能相互转换,因为GB2312编码范围有限,不能表示UTF-8中的所有字符。在实际操作中,我们需要先检查输入字符串的编码类型,再进行相应的转换,以防止出现编码错误。...

    PB字符串转XML文件,解决PB12.5创建UTF-8文件BOM问题(powerbuilder 12.5)

    由于项目需要,需要字符串转为XML文件,直接用Fileopen进行EncodingUTF8编码后,发现文件实际为UTF-8 BOM编码 问度娘发现有相同问题,但解决方式是利用新建一个UTF-8的TXT文件后,再进行COPY加内容。感觉这样操作...

    c++ UTF-8 UTF-16转换

    Windows系统提供了API函数来进行Unicode转换,如`MultiByteToWideChar`和`WideCharToMultiByte`,这些函数分别用于将多字节字符串(如UTF-8)转换为宽字节字符串(如UTF-16LE),反之亦然。但在跨平台的项目中,我们...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    - 将字符串从ANSI转换为Unicode或UTF-8 - 将Unicode(Little Endian或Big Endian)转换为其他编码 - 实现UTF-8与UTF-8+BOM之间的转换 - 提供批量转换文件或目录中所有文件的编码的功能 使用这样的类,你可以方便地...

    oracle,GBK,UTF-8字符集下获取拼音首字母_拼音截取等

    oracle,GBK,UTF-8字符集下获取拼音首字母_拼音截取等 oracle汉字转拼音package_获得全拼—GBK—拼音首字母_拼音截取 oracle汉字转拼音package_获得全拼—UTF8—拼音首字母_拼音截取 还实例。

    ASCII 及UTF-8 与字符互相转换

    ASCII 和 UTF-8 是两种广泛使用的字符编码标准,它们在计算机科学中扮演着重要的角色,尤其是在文本处理和数据传输方面。这两个编码系统都是为了将人类可读的字符转化为计算机可以理解的形式,但它们的设计和使用...

    pb12 gb转utf-8

    在PowerBuilder中,可以使用字符串处理函数,或者调用外部的转换工具,比如iconv,来实现GBK到UTF-8的转换。 3. 写入新格式:转换后的数据应保存为UTF-8格式。如果是数据库,可能需要更新数据库的字符集设置,如果...

    VB6.0 UTF-8转换GB2312函数

    UTF-8是一种广泛使用的Unicode编码,而GB2312是中国大陆常用的简体中文字符集,主要用于早期的计算机系统。在这个场景下,我们通常需要编写自定义函数来完成这种转换。 以下是一个简单的VB6.0函数示例,用于将UTF-8...

Global site tag (gtag.js) - Google Analytics