C++处理 中英字混合截断乱码[中码GBK,英码ASCII]
//=======================================================// 从start开始 截取中英混合字符 遵循GBK编码规则////=======================================================std::string substr(const char * data, int start, int length){std::string temp = data;std::string res;//=======================================================// 从start开始 截取中英混合字符 遵循GBK编码规则////=======================================================for (int i = start; i < temp.length() && i < length; i++){//==========================================// 获取第一位在内存中的数值//==========================================unsigned short first_char = temp.at(i);//==========================================// 初始化第二位在内存中的数值//==========================================unsigned short sencond_char = 0;//==========================================// 如果第2位不越界,初始化第二位在内存中的数值//==========================================if (i + 1 != length && i + 1 != temp.length()){sencond_char = temp.at(i + 1);}//=================================================// 如果第一位的字符中包含在0xff81 至 0xffff (GBK编码)//=================================================if (first_char >= 0xff81 && first_char <= 0xffff){// 如果第二位有值if (sencond_char >= 0x40 && sencond_char <= 0xffff){res += first_char;res += sencond_char;// 向右多偏移一位i++;}// 如果第二位已越界else{break;}}//==================================================// 如果第一位不在GBK编码中//==================================================else{res += first_char;}}return res;}
C++处理 中英字混合截断乱码[中码GBK,英码ASCII]相关推荐
- 中英数字混合的字符串截取
/*** 中英数字混合的字符串截取* Param: 参数说明* [in]$sourcestr string 截取字符串* [in]$cutlength int 截取长度*/public functio ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(二)-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(二)-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.integration-包下的类-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.integration-包下的类-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.differentiation-包下的接口-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.differentiation-包下的接口-中英对照文档及源码赏析 摘要:中英对照文档.源码 ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.integration.gauss-包下的类-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.integration.gauss-包下的类-中英对照文档及源码赏析 摘要:中英对照文档.源 ...
- Mysql截取中英数混合的字符串
在 mysql中截取字符串我们用 LEFT函数 LEFT(str,len) 返回从字符串str 开始的len 最左字符. mysql> SELECT LEFT('foobarbar', 5); ...
- 中英混串转拼音 源码
/* 本程序只对GB2312编码有效 *//* 汉字读音分界点处的码值数组 */ static const unsigned short code_pin[] = {0xb0a1,0xb0a3,0xb ...
- 计算机组成原理白中英作业,计算机组成原理白中英部分作业解答(第二章)
<计算机组成原理白中英部分作业解答(第二章)>由会员分享,可在线阅读,更多相关<计算机组成原理白中英部分作业解答(第二章)(19页珍藏版)>请在人人文库网上搜索. 1.2020 ...
最新文章
- 主题已放宽,科研UP主们速来Bio-protocol破浪吧
- mac安装jmeter
- Ubuntu上安装nginx步骤及问题记录
- IOS常用正则表达式
- 【MM配置】Movement Type 移动类型创建
- C#对Microsoft.VisualBasic My对象兰台妙选
- Node.js实现Excel转JSON
- 三角函数公式【转载】
- c++ createtoolhelp32snapshot取进程路径_理解进程和线程
- 快速向表中插入大量数据Oracle中append与Nologgin的作用
- iOS自己定义返回button(不影响返回手势)
- 天若OCR v5.0 自用免配置增强版
- 视频抠图在线工具有哪些?推荐这3款AI智能抠图工具
- php 开发 oa 框架,基于ThinkPHP框架开发的全功能OA办公管理系统PHP源码
- python的opencv操作记录(七)——短时傅里叶变换(stft)
- Spring基础详解
- 计算机考试a bcd哪一级难,2014计算机一级考试试题:WPS及基础题
- python勾股数_勾股数-随心随性无为而为-51CTO博客
- vue 管理系统顶部tags浏览历史实现
- Springboot 整合 kafka 实现消息的发布和订阅
热门文章
- 一年中重要的节日列表_一年中最重要的节日分别是?
- Mobile Edge Computing —— Paper List
- 简单实用的Linux可视化监控工具——WGCLOUD
- 【STM32CubeIDE和ITM SWV实现printf调试信息的打印】
- 【Java高级】多线程基础
- 学python真好玩啊_Python真好玩:教孩子学编程最新章节_刘凤飞著_掌阅小说网
- 【Python 实战基础】Pandas如何输出表格数据标题名称列表
- 写给Java 工程师们一封信
- 如果流浪地球,信息科学能做什么
- 小白入门计算机视觉系列——ReID(一):什么是ReID?如何做ReID?ReID数据集?ReID评测指标?