`

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编码集中的位置。此编码集对照表非官网下载,如需使用,请提前预估风险。另外,此对照表只用于学习研究,如需用到其他地方,后果自负。

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

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

    utf-8.rar_c++ string utf-8_string to utf-8_utf_utf 8_utf-8

    如果需要处理UTF-8编码,可能需要额外的库支持,如Boost.Locale或者ICU库,这些库提供了对多字节字符集(包括UTF-8)的支持。 转换`std::string`到UTF-8通常不是必要的,因为`std::string`默认就可以存储UTF-8编码...

    UTF-8 中文字符集表

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

    易语言判断UTF-8字符

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

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

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

    易语言判断UTF-8字符源码

    在处理字符串时,尤其是在涉及编码格式转换的时候,易语言提供了相应的函数和方法。标题提到的“易语言判断UTF-8字符源码”就是关于如何在易语言中识别和处理UTF-8编码的字符串的知识点。 UTF-8是一种广泛使用的...

    utf-8 ansi 字符互转 工具

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

    UTF-8字符集基础

    UTF-8字符集基础 UTF-8字符集基础

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

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

    PB9转换utf-8例子

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

    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也支持全球大...

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

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

    utf-8 互转 gb2312 转码

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

    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之间的转换 - 提供批量转换文件或目录中所有文件的编码的功能 使用这样的类,你可以方便地...

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

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

    将字符串从常用编码转为utf-8编码(java)

    Java字符串编码查询及转换,可将常用的一些编码格式转换成utf-8

    VB6.0 UTF-8转换GB2312函数

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

Global site tag (gtag.js) - Google Analytics