转载: (1条消息) C++全角与半角互转_前进的菜鸟的博客-CSDN博客

转载:C++中的半角、全角字符转换_Peterld的博客-CSDN博客

重点:

#include <algorithm>
#include <functional>
#include <iostream>
#include <map>
#include <set>
#include <stack>
#include <assert.h>
using namespace std;string GetStr(string sText)
{string tText;unsigned char tmp; unsigned char tmp1;for (unsigned int i = 0; i < sText.size(); i++){tmp = sText[i];tmp1 = sText[i + 1];if (tmp == 163){tText += (unsigned char)sText[i + 1] - 128;i++;continue;}else if (tmp > 163){tText += sText.substr(i, 2);i++;continue;}else if (tmp == 161 && tmp1 == 161){tText += "";i++;}//波浪线全角半角需要特殊处理else if (tmp == 161 && tmp1 == 171){tText += 126;i++;}else{tText += sText.substr(i, 1);}}return tText;
}bool FullStrToHalfstr(const string& strFullWidth, string& strHalfWidth)
{strHalfWidth.clear();unsigned char tmp; unsigned char tmp1;for (unsigned int i = 0; i < strFullWidth.length(); i++){tmp = strFullWidth[i];tmp1 = strFullWidth[i + 1];if (tmp == 163){strHalfWidth += (unsigned char)strFullWidth[i + 1] - 128;i++;continue;}else if (tmp > 163){strHalfWidth += strFullWidth.substr(i, 2);i++;continue;}else if (tmp == 161 && tmp1 == 161){strHalfWidth += "";i++;}else{strHalfWidth += strFullWidth.substr(i, 1);}}return true;
}string ToDBS(string str) {string result = "";unsigned char tmp; unsigned char tmp1;for (unsigned int i = 0; i < str.length(); i++) {tmp = str[i];tmp1 = str[i + 1];if (tmp == 163) {///第一个字节是163,标志着是全角字符   result += (unsigned char)str[i + 1] - 128;i++;continue;}else if (tmp > 163) {//汉字   result += str.substr(i, 2);i++;continue;}else if (tmp == 161 && tmp1 == 161) {///处理全角空格   result += "";i++;}else if (tmp == 161 && tmp1 == 171) {///处理全角空格   result += 126;i++;}else {result += str.substr(i, 1);}} return result;
}int main()
{string aa = "~~~~~@@",bb;FullStrToHalfstr(aa, bb);cout << GetStr(aa)<< endl;return 0;
}

C++:全角和半角转化相关推荐

  1. python中英文半角还是全角_Python3全角转半角的方法

    相信大家都对全角半角的概念已经有所了解了.中文文字永远是全角,只有英文字母.数字键.符号键才有全角半角的概念,一个字母或数字占一个汉字的位置叫全角,占半个汉字的位置叫半角.标点符号在中英文状态下.全半 ...

  2. JS对全角与半角的验证,相互转化以及介绍

    1.什么是全角和半角? 全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都 ...

  3. php区分全角半角字符,php如何判断是字符串全角还是半角

    php如何判断是字符串全角还是半角 关注:168  答案:2  手机版 解决时间 2021-01-15 16:08 提问者夏日╮悲歌 2021-01-15 00:27 php如何判断是字符串全角还是半 ...

  4. JS对全角与半角的验证,相互转化以及介绍 | CSDN创作打卡

    文章目录 1.什么是全角和半角? 2.全角和半角的区别 3.js判断输入的文字是全角还是半角? 4.js对全角与半角的相互转化 半角转化为全角 全角转换为半角 1.什么是全角和半角? 全角:是一种电脑 ...

  5. 计算机中全半角转换是干什么的,全角半角切换快捷键(电脑全角和半角怎么切换)...

    搜狗输入法的全角半角切换键是:shift+空格键 (如当前在半角状态,按shift+空格键可以切换至全角:如当前在全角状态,按shift+空格键可以切换至半角) 半角与全角切换的意义 1.添加输入法不 ...

  6. 文本处理(一)全角转半角及正则匹配

    最近遇到一些情况需要对文本进行预处理,目的是从文本中提取特征.文本内容是不同病人的脾脏B超体检结果.内容格式如下: 其中有一部分内容还含有数字,例如这样: df_with_num=df[df['011 ...

  7. #学习笔记#(58)中文标点符号转英文标点符号,及全角转半角js

    <!doctype html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. java 全角半角_java操作字符,java全角转半角

    原来在页面用fckediter编辑信息,为了信息美观,信息提交时需要对信息内容进行全角到半角的转换, 有时候如果信息两太大的话处理非常慢,怀疑是js处理太慢了, 有个想法,在java里面处理信息内容, ...

  9. js对全角与半角介绍及相互转化

    什么是全角和半角? 全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全 ...

最新文章

  1. NDoc –NET 代码文档生成器快速度上手
  2. Jquery高亮显示文本中重要的关键字
  3. 【转】Android兼容性测试CTS --环境搭建、测试执行、结果分析
  4. 得到选择框句柄 怎么操作_电脑版微信怎么多开?最简单的三种电脑版微信多开教程...
  5. java序列化表单同步请求_Ajax serialize() 表单进行序列化方式上传文件
  6. Ajax基石脚本异步并发调用参数传递
  7. 安卓第三阶段实训项目:基于网络乐库音乐播放器V1.0
  8. python报表自动化系列 - 获取某月日历并以列表形式返回(公历)
  9. 爱因斯坦谜题:谁养鱼(C#版)
  10. 红红火火的丹麦造陆运动,和它恍恍惚惚的“硅谷梦”
  11. LED背光源技术特点
  12. git:remote: [session-f044bfa6] well: Incorrect username or password (access token)
  13. 百钱买百鸡:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
  14. 游戏建模的常用的软件和建模师的日常是什么?
  15. 蓝叠模拟器查看Android版本,BlueStacks蓝叠版本信息在哪看蓝叠模拟器版本信息查看方法...
  16. NOIP历年第二轮入门组真题集合
  17. ArcGIS与插值(一): 统计与地统计
  18. matlab用正弦做随机信号程序,(MATLAB辅助现代工程数字信号处理)第6章平稳随机信号处理与分析.ppt...
  19. Mysql-如何建表更符合业务
  20. 7-242 母牛问题

热门文章

  1. 古筝几种遥指技法训练
  2. 详解DataX及使用
  3. 一本通1602烽火传递
  4. 多元正态产生随机数python_【python讲概率】S05E06 多元正态分布及其性质
  5. [HITML]哈工大2020秋机器学习期末试题
  6. 学硕VS专硕,到底该选哪个?
  7. Linux命令之dhclient
  8. SLAM综述阅读笔记七:Visual and Visual-Inertial SLAM: State of the Art, Classification,and Experimental 2021
  9. 固体量子理论初步之能带理论
  10. 荣耀v8华为钱包,为什么卡包里还是只有上海公交卡?--已解决