UTF8编码格式的中英文字符如何换行
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编码格式的中英文字符如何换行相关推荐
- python中英文字符怎么区分-python 利用utf-8编码判断中英文字符的简单示例
这篇文章主要为大家详细介绍了python 利用utf-8编码判断中英文字符的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 利用utf-8编码判断中英文字符的简单示例的小伙伴,下 ...
- 中英文字符大小和文本边界问题
中英文字符大小和文本边界问题 也不知道是楼主的问题还是CSDN的问题,楼主最近的博客在贴代码的时候出现了问题,明明把代码贴进去了,还是没有代码的效果,好吧.先这样吧,过几天再看看到底是啥情况. ASC ...
- C#网络编程(四、Socket中英文字符大小和文本边界问题)
转自:http://blog.csdn.net/shanyongxu/article/details/51190820,本人学习受益匪浅,楼主把重点都标记出来了,请点击链接查看原文,尊重楼主大大版权. ...
- 用java程序将GBK字符转成UTF-8编码格式(转)
UTF-8 编码是一种被广泛应用的编码,这种编码致力于把全球的语言纳入一个统一的编码, 目前已经将几种亚洲语言纳入.UTF 代表 UCS Transformation Format. UTF-8 采用 ...
- java gbk汉字 10进制,用java程序将GBK字符转成UTF-8编码格式
UTF-8 采用变长度字节来表示字符,理论上最多可以到 6 个字节长度(一个字符六个字节). UTF-8 编码兼容了 ASC II(0-127), 也就是说 UTF-8 对于 ASC II 字符的编码 ...
- 自定义方法中英文字符截取
//方法一:(借鉴于thinkphp中的中英文字符截取) function msubstr($str, $start=0, $length, $charset="utf-8", $ ...
- php 获取中英文字符的数量;和JS获取中英文字符的数量
1.php 获取中英文字符的数量 先获取英文的单词的数量,再获取中文的汉字数量. // 获取内容中,英文单词的数量 $encount = str_word_count($v); // 获取内容中,中文 ...
- 在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题
在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题. 要让自己在php方面有所造就,就得自己写实例,做项目.只有这样才能遇到问题, ...
- 区分中英文字符的两种方法: 正则和charCodeAt()方法
最近在为项目写登录注册系列页面, 表单验证无疑是不可缺少的部分, 在这个jQ插件满天飞的web年代, 表单验证倒也不是难事. 但再好的插件, 也并不能做到十全十美, 比如这次用到的我先前介绍过的Van ...
最新文章
- Battery electric vehicles (BEVs) 快充技术
- django ajax上传文件
- Modern CSV中文版
- 树莓派ssh连接问题
- Android 获取地理位置获取经纬度
- 数据库实验三 SQL查询数据
- 软件开发除了23种设计模式,还有7个开发原则需要了解
- android 自动更新
- pycharm用社区版还是专业版?看下两者的区别吧!
- php array函数 array_filter 过滤数组中的空值
- 架构之美读书笔记之三
- 计算机多媒体制作三级证书,多媒体作品制作员(师)国家职业标准
- MATLAB模糊控制器
- python成品_京东抢购茅台Python打包版
- 仿支付宝输入密码效果
- 农民伯伯android,Android3.1r1API中文文档——ImageView(cnmahj+农民伯伯).doc.doc
- px、em、rem、rpx 用法 与 区别
- 【音视频基础】视频基础理论
- 清除某个特定网站的缓存---基于Chrome浏览器
- 第三章 动态路由协议
热门文章
- Ubuntu上安装xilinx PetaLinux工具的注意事项
- linux装入u盘分区失败,linux下U盘分区表修复解决识别问题
- 数据立方体(Cube)
- matlab parfor使用
- 阿里云 云效Codeup提示git did not exit cleanly (exit code 128)
- ubuntu 12.04安装截图功能的软件 gimp
- 印象笔记多PC不能同步问题的解决
- Chrome版本与chromedriver兼容版本对照表
- Redhat6.5配置RHCS--ISCSI/SCSI实现磁盘文件共享
- 七个人生工具 | SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则