UTF8编码格式下,1个中文字符占3个字节,1个英文字符占1个字节。

如果遇到一大堆中英文字符串混杂,如何换行呢,请看代码:

/*
功能:UTF8中英文字符换行
输入:szStr: 字符串
ncount:每行容纳的中文字符
输出:lineStr: 每一行字符
返回:无
*/
static void philofly_break_line(char *szStr, int ncount, char **lineStr)
{
int nsum = 0;
int ntotal  = ncount*3;
int i = 0;
if(szStr == NULL || lineStr == NULL || *lineStr == NULL)
return;
if(strlen(szStr) < ntotal)
{
strcpy(*lineStr, szStr);
return;
}
while( *szStr)
{
if( (*szStr) < 0)//chinese char
{
nsum += 3;
szStr += 3;
}
else// 'a' to 'z' or 'A' to 'Z' or '0' to '9'
{
szStr++;
nsum++;
}
if(nsum>=ntotal || (*szStr=='\0') )
{
if( *szStr == '\0 )
{
strncpy(lineStr[i], szStr-nsum, nsum);//last chars
break;
}
if(nsum==ntotal)
{
strncpy(lineStr[i], szStr-nsum, ntotal);
}
else if(nsum > ntotal)
{
if(nsum%3 == 1)// more one digital or english char
{
strncpy(lineStr[i], szStr-nsum, ntotal-1);
szStr -= 1;
}
else if(nsum%3 == 2)//more one chinese char
{
strncpy(lineStr[i], szStr-nsum, ntotal-3);
szStr -= 3;
}
}
}
nsum = 0;
i++;
}
}

UTF8编码格式的中英文字符如何换行相关推荐

  1. python中英文字符怎么区分-python 利用utf-8编码判断中英文字符的简单示例

    这篇文章主要为大家详细介绍了python 利用utf-8编码判断中英文字符的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 利用utf-8编码判断中英文字符的简单示例的小伙伴,下 ...

  2. 中英文字符大小和文本边界问题

    中英文字符大小和文本边界问题 也不知道是楼主的问题还是CSDN的问题,楼主最近的博客在贴代码的时候出现了问题,明明把代码贴进去了,还是没有代码的效果,好吧.先这样吧,过几天再看看到底是啥情况. ASC ...

  3. C#网络编程(四、Socket中英文字符大小和文本边界问题)

    转自:http://blog.csdn.net/shanyongxu/article/details/51190820,本人学习受益匪浅,楼主把重点都标记出来了,请点击链接查看原文,尊重楼主大大版权. ...

  4. 用java程序将GBK字符转成UTF-8编码格式(转)

    UTF-8 编码是一种被广泛应用的编码,这种编码致力于把全球的语言纳入一个统一的编码, 目前已经将几种亚洲语言纳入.UTF 代表 UCS Transformation Format. UTF-8 采用 ...

  5. java gbk汉字 10进制,用java程序将GBK字符转成UTF-8编码格式

    UTF-8 采用变长度字节来表示字符,理论上最多可以到 6 个字节长度(一个字符六个字节). UTF-8 编码兼容了 ASC II(0-127), 也就是说 UTF-8 对于 ASC II 字符的编码 ...

  6. 自定义方法中英文字符截取

    //方法一:(借鉴于thinkphp中的中英文字符截取) function msubstr($str, $start=0, $length, $charset="utf-8", $ ...

  7. php 获取中英文字符的数量;和JS获取中英文字符的数量

    1.php 获取中英文字符的数量 先获取英文的单词的数量,再获取中文的汉字数量. // 获取内容中,英文单词的数量 $encount = str_word_count($v); // 获取内容中,中文 ...

  8. 在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题

    在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题. 要让自己在php方面有所造就,就得自己写实例,做项目.只有这样才能遇到问题, ...

  9. 区分中英文字符的两种方法: 正则和charCodeAt()方法

    最近在为项目写登录注册系列页面, 表单验证无疑是不可缺少的部分, 在这个jQ插件满天飞的web年代, 表单验证倒也不是难事. 但再好的插件, 也并不能做到十全十美, 比如这次用到的我先前介绍过的Van ...

最新文章

  1. Battery electric vehicles (BEVs) 快充技术
  2. django ajax上传文件
  3. Modern CSV中文版
  4. 树莓派ssh连接问题
  5. Android 获取地理位置获取经纬度
  6. 数据库实验三 SQL查询数据
  7. 软件开发除了23种设计模式,还有7个开发原则需要了解
  8. android 自动更新
  9. pycharm用社区版还是专业版?看下两者的区别吧!
  10. php array函数 array_filter 过滤数组中的空值
  11. 架构之美读书笔记之三
  12. 计算机多媒体制作三级证书,多媒体作品制作员(师)国家职业标准
  13. MATLAB模糊控制器
  14. python成品_京东抢购茅台Python打包版
  15. 仿支付宝输入密码效果
  16. 农民伯伯android,Android3.1r1API中文文档——ImageView(cnmahj+农民伯伯).doc.doc
  17. px、em、rem、rpx 用法 与 区别
  18. 【音视频基础】视频基础理论
  19. 清除某个特定网站的缓存---基于Chrome浏览器
  20. 第三章 动态路由协议

热门文章

  1. Ubuntu上安装xilinx PetaLinux工具的注意事项
  2. linux装入u盘分区失败,linux下U盘分区表修复解决识别问题
  3. 数据立方体(Cube)
  4. matlab parfor使用
  5. 阿里云 云效Codeup提示git did not exit cleanly (exit code 128)
  6. ubuntu 12.04安装截图功能的软件 gimp
  7. 印象笔记多PC不能同步问题的解决
  8. Chrome版本与chromedriver兼容版本对照表
  9. Redhat6.5配置RHCS--ISCSI/SCSI实现磁盘文件共享
  10. 七个人生工具 | SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则