题目:从含有中文字符的长度为N的字符串中截取M个字符,中文字符不能被分成两半。如从"我a爱中华abc我爱中国def,我ABC汉" 中取4个字符结果应该为"我a",而不是"我a爱"。

TIP:

* 将字符转码为GBK[一个中文包含两个字符且均小于0]
* 标识符标记前一个字节小于0作为辅助判断依据
* 当前字节小于0且前一次小于0【标识符判断】则为一个中文, 否则改变标识符的状态

public static int trimGBK(byte[] buf, int n) {int num = 0;boolean bChineseFirstHalf = false;for (int i = 0; i < n; i++) {if (buf[i] < 0 && !bChineseFirstHalf) {bChineseFirstHalf = true;} else {num++;bChineseFirstHalf = false;}}return num;
}

  

转载于:https://www.cnblogs.com/cugb-2013/p/3662435.html

字符串劈分(含中文)相关推荐

  1. 第25讲:Python字符串的字符转换、字符串劈分、字符串合并

    文章目录 1.字符串的字符转换 1.1.字符转换的概念 1.2.字符转换的应用案例 2.字符串的劈分 2.1.字符串劈分的概念 2.2.调用方法split或者rsplit劈分字符串 2.3.调用方法p ...

  2. JavaScript计算字符串长度(含中文)

    项目需求变更中有一个要求,就是在mini-textbox中,输入的中文不能超过15个汉字,字符不可以超过30个.我用了miniUI自带的vtype属性,但是不好使,最后使用了一段JS代码进行了校验,代 ...

  3. python 计算字符串长度(含中文)

    txt = '名字12' lenTxt = len(txt) lenTxt_utf8 = len(txt.encode('utf-8')) size = int((lenTxt_utf8 - lenT ...

  4. java 字符长度 中文_java 字符串的长度 含中文 英文 空格

    ? class="java" name="code">package com.urt.module.util; import java.io.Unsupp ...

  5. python中文字符串编码_浅谈python下含中文字符串正则表达式的编码问题

    前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码中没有中文. 所以py文件中要写中文字符时,一般在开头加 # -*- coding: utf-8 -*- 或者 #co ...

  6. python 中文字符串截取,Python实现针对含中文字符串的截取功能示例

    本文实例讲述了Python实现针对含中文字符串的截取功能.分享给大家供大家参考,具体如下: 对于含多字节的字符串,进行截断的时候,要判断截断处是几字节字符,不能将多字节从中分割,避免截断后乱码 下面给 ...

  7. 字符串(含中文)转16进制,16进制转字符串(含中文)

    字符串(含中文)转16进制 public static byte[] SendS(String str){byte[] ok = new byte[0]; try {ok = str.getBytes ...

  8. R语言xlsx包读取含中文Excel文件时出现乱码或“多字节字符串6有错”的解决方案

    R语言处理含中文Excel文件时,由于编码的不一致,总会出现各种各样的问题.例如,使用xlsx包读取xlsx文件时,若内容中含有中文,就会出现乱码,甚至会报错. 例如使用这个表格: data1 < ...

  9. QT QString含中文字符串转16位Unicode字符串

    QT QString含中文字符串转16位Unicode字符串 近期做串口编程时遇到了个问题,折腾了好大会,终于弄明白了,特此分享! //目标:新浪微博->0465b06d6a5fae535a Q ...

  10. java 判断 中文字符_java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

最新文章

  1. 7个杀手级的开源监测工具
  2. stm32影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用
  3. PCL 点云 欧式聚类疑问
  4. JAVA数据类型与逻辑练习
  5. Spring 自动装配模式之构造函数装配方式
  6. python的repl模式_如何更改sublimeREPL默认python版本
  7. 七阶拉丁方阵_【C语言】输出N阶拉丁方阵并统计个数
  8. Linux两种方式rd.break和init重置root管理员密码
  9. init.d,rc.d详解 Linux运行时详解
  10. Quartz2D简单绘制之饼状图
  11. vue导入音乐_苹果vue怎么导入音乐
  12. 八皇后问题python_八皇后问题 Python实现
  13. 网页效果图设计之色彩配色索引
  14. SPR EAD NET 6
  15. 6款CSS特效边框样式
  16. 测试学习笔记之--pytest使用和断言处理以及setup,theardown使用
  17. Ansible自动化运维工具安装及使用
  18. 锐捷交换机的环路检测
  19. hdu 4416 后缀数组
  20. Matlab常用函数2:vpa,roundn

热门文章

  1. fscapture下载收费吗?_网课视频及短视频下载工具
  2. 一阶线性微分方程的初等积分法例题
  3. oracle ebs 接收数量,[zz]Oracle EBS API: 库存数量查询API示例
  4. 信息安全收集注意事项
  5. 政府机构网络安全实战
  6. classpath java配置_Java环境变量中classpath是必须配置吗?
  7. 编译时:virtual memory exhausted: Cannot allocate memory
  8. 【HDU6051】if the starlight never fade
  9. 测试的目的、时期、分类
  10. BZOJ——T 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛