`

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字符集》主要收集了...

    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字符源码

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

    UTF-8字符集基础

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

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

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

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

    Patchwork UTF-8是一个便携式C++类库,专门设计用于处理UTF-8编码的字符串。UTF-8是一种广泛使用的Unicode字符编码方案,能够表示Unicode标准中的所有字符,包括各种语言的字母、数字和符号。这个类库的出现是为了在...

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

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

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

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

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    UTF-8,即“统一字符集的8位无符号格式”,是一种变长编码,可以表示Unicode字符集中所有的字符。对于ASCII字符(如英文字符),UTF-8只用一个字节,而对于非ASCII字符,如汉字,可能需要2到4个字节。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之间的转换 - 提供批量转换文件或目录中所有文件的编码的功能 使用这样的类,你可以方便地...

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

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

    GB2312字符与UTF-8字符互转

    LabVIEW 自带的VI,可以实现GB2312字符与UTF-8字符互,用在网络字符转换很方便。输入隐藏功能,自己很难找到。

    C#写的 GBK GB2312 UTF-8转换

    在这个例子中,`Encoding.GetEncoding("GBK")`获取了GBK编码器,`GetBytes()`方法将GBK编码的字符串转换为字节数组,然后`Encoding.UTF8.GetString()`将这个字节数组还原为UTF-8编码的字符串。 对于文件的编码转换...

    UTF-8 汉字码表

    UTF-8作为一种高效且全面的字符编码方案,在互联网、软件开发和数据处理等领域中扮演着核心角色。通过对码表的理解和运用,我们不仅能够有效处理全球各种语言的文本,还能促进文化的交流和信息的无障碍传播。随着...

    lua utf-8字符的相关操作

    lua utf-8字符的相关操作,字符裁剪 获取字符长度等操作,能准确的获得中文字符长度。

    VBA Fans读取和写入UTF-8格式文本文件

    一个常见的方法是先将UTF-8文件转换为字节流,然后解码为字符串。以下是一个示例: ```vba Dim fileNum As Integer Dim byteArr() As Byte fileNum = FreeFile() Open "C:\Path\To\file.txt" For Binary ...

    UTF-8转ANSI文本文件转换器

    综上所述,"UTF-8转ANSI文本文件转换器"涉及到了字符编码的基础知识、编码转换的原理以及批量处理和代码设计的实践。理解和掌握这些知识点,对于处理文本文件编码问题、开发相关工具或理解软件内部工作流程都...

Global site tag (gtag.js) - Google Analytics