C/C++ 字符、字符串转十六进制(支持中文字符串转换)
#include <string> // std::string
#include <sstream> // std::stringstream /**
* #purpose : 字符转十六进制
* #note : 不适用于汉字字符
* #param ch : 要转换成十六进制的字符
* #return : 接收转换后的字符串
*/
std::string chToHex(unsigned char ch)
{
const std::string hex = "0123456789ABCDEF"; std::stringstream ss;
ss << hex[ch >> ] << hex[ch & 0xf]; return ss.str();
} /**
* #purpose : 字符串转十六进制字符串
* #note : 可用于汉字字符串
* #param str : 要转换成十六进制的字符串
* #param separator : 十六进制字符串间的分隔符
* #return : 接收转换后的字符串
*/
std::string strToHex(std::string str, std::string separator = "")
{
const std::string hex = "0123456789ABCDEF";
std::stringstream ss; for (std::string::size_type i = ; i < str.size(); ++i)
ss << hex[(unsigned char)str[i] >> ] << hex[(unsigned char)str[i] & 0xf] << separator; return ss.str();
}
C/C++ 字符、字符串转十六进制(支持中文字符串转换)的更多相关文章
- centos中文乱码修改字符编码使用centos支持中文
如何你的centos显示中文乱码,只要修改字符编码使centos支持中文就可以了,没有这个文件可以创建它,下面是修改步骤 一.中文支持 安装中文语言包: 复制代码 代码如下: yum groupins ...
- 中文字符串转换为十六进制Unicode编码字符串
package my.unicode; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Uni ...
- (实用篇)php中计算中文字符串长度、截取中文字符串的函数代码
在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务 ...
- php中计算中文字符串长度、截取中文字符串
在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理.在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数 ...
- substr扩展版:支持中文字符串截取
function d_substr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_e ...
- 收藏几个支持中文的PHP字符串截取函数
字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到.虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了. <?php func ...
- (实用篇)多个PHP中文字符串截取函数
字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到.虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了 <?php funct ...
- Python中文繁简体转换工具
Openccpy ___ _____ __ ___ ___ ___ _____ __ __ / __`\/\ '__`\ /'__`\/' _ `\ /'___\ /'___\/\ '__`\/\ \ ...
- 1.部分(苹果)移动端的cookie不支持中文字符,2.从json字符串变为json对象时,只支持对象数组
1.移动端的cookie不支持中文字符.可以用编码,解码的方式解决. 2.json字符串变成相应 的,json对象数组字符串.就这样 3.不同客户端(移动端.电脑)的请求,在C#服务端的取时间的格式竟 ...
随机推荐
- lca 倍增模版
; void dfs(int u,int fa){ d[u]=d[fa]+; p[u][]=fa; ;i<POW;i++) p[u][i]=p[p[u][i-]][i-]; int sz=edg ...
- ArcGis基础——把类别代码替换成对应中文名称的方法
挂接! 上面是答案,展开一下就是做一个Excel对照表,就两列,代码与中文名称.然后用类别代码字段匹配挂接. 别傻傻找vbs/py代码,不知道拐个弯.
- 转载:mysql sql_safe_updates 分析
今天看到一个很实用的功能,mysql_safe_updates. 只是对功能做了转载,具体原理可以看一下 delete from table t where true ; update t set c ...
- 试探回溯法(backtracking)
一.八皇后问题 国际象棋中皇后的势力范围覆盖其所在的水平线.垂直线以及两条对角线.现考查如下问题:在n*n的棋盘上放置n个皇后,如何使得她们彼此互不攻击,此时称她们构成一个可行的棋局.对于任何整数n ...
- kali 修改默认语言
打开 /etc/default/locale将 LANG="en_US.UTF-8" 修改成 LANG="zh_CN.UTF-8"重启 reboot 配置方法 ...
- python-面向对象-01课堂笔记
面向对象 ''''1.面向过程编程 核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 ...
- es6学习(一)
之前一直听说es6,断断续续看过阮一峰老师的"ECMAScript 6 入门",觉得写得很好,但由于实际项目中没用到,所以并没有过多的去研究(人的惰性在我这里表现的淋漓尽致).直到 ...
- JAVA java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案
一.新建Java工程,在Java类中声明一个native的方法 新建Java项目 在新建的项目中创建packet(包),并且在包下创建一个Class(类). 接下来,在该类中添加如下代码: ? 1 2 ...
- luoguP4768 [NOI2018]归程
传送门 kruskal重构树: kruskal合并两个联通块时合并的边一定是联通块中权值最大的边,小于等于这条边的边所能联通的所有点在这个联通块中. 在合并两个联通块的时候新建一个点作为两个联通块代表 ...
- NX二次开发-UFUN拉伸函数UF_MODL_create_extruded
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...