首页 > 其他分享 >关于中文、字符互转

关于中文、字符互转

时间:2024-04-14 10:22:51浏览次数:27  
标签:字符 中文 int long x2 互转 x1 define

知周所众
在计算机中,所有的数据在存储和运算时都要使用二进制数表示
例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示
于是就产生了编码

而我国字符编码也有几套标准,如GB2312、GBK、GB18030等

脑子一抽突发奇想 遂产生此代码

中文转字符

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define mst(a,b) memset(a,b,sizeof(a))
#define re register
#define Elaina 0
void ct(int x){
	int x1=x/16,x2=x%16;
	if(x1>9){
        x1+='a'-10;
    }else x1+='0';
	if(x2>9){
        x2+='a'-10;
    }else{
        x2+='0';
    }
	char c1=x1,c2=x2;
	cout<<c1<<c2;
}
int main(){
	string a;
	cin>>a;
	int len=a.size();
	for(int i=0;i<len;++i){
		int x=a[i];
		ct(x+256);
	}
    return Elaina;
}

字符转中文

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define mst(a,b) memset(a,b,sizeof(a))
#define re register
#define Elaina 0
int ct(char c){
	int x=0;
	if(c>='a'&&c<='f'){
        x=c-'a'+10;
    }else{
        x=c-'0';
    }
	return x;
}
int main(){
	string a;
	cin>>a;
	int sz=a.size();
	for(int i=0;i<sz;i+=2){
		int xx=ct(a[i])*16+ct(a[i+1]);
		char s=xx;
		cout<<s;
	}
    return Elaina;
}

夹带私货()

![](/i/l/?n=24&i=blog/3390785/202404/3390785-20240414101510606-494536749.jpg)

标签:字符,中文,int,long,x2,互转,x1,define
From: https://www.cnblogs.com/Elaina-0/p/18133817

相关文章

  • 字符串基础
    字符串的常见函数:strlen()//计算字符串的长度,即字符串中字符的个数(不包括字符串末尾的空字符'\0'strcpy()//将一个字符串复制到另一个字符串中。目标字符串必须有足够的空间来容纳被复制的字符串。strcat()//将一个字符串追加到另一个字符串的末尾。目标字符......
  • Sql Server对等复制中将截断字符串或二进制数据。 (源: MSSQLServer,错误号: 8152)
    近期发现好好的复制突然出现了报错,导致备份库数据不一致的问题,如下 一直以为是发布数据库进行了DDL操作没有同步到这边来,导致数据同步时长度不够导致的,结果把表都检查了一遍也没发现啥不对劲最后只好去找相关资料,结果找到了官方资料(目前老项目用的14版本) 这边有几个......
  • java的两个bean之间复制属性,所有属性中替换某几个字符
    以下是实现代码:importjava.beans.PropertyDescriptor;importjava.lang.reflect.InvocationTargetException;importjava.util.ArrayList;importjava.util.List;importorg.springframework.beans.BeanUtils;publicclassBeanCopyUtil{/***复制bean属性......
  • 字符串
    1.基本命令集 Tcl将所有的变量值视作字符串,并将他们作为字符串来保存。下表列出了字符串操作的几个常用命令。 命令描述append将值追加到字符串尾binary二进制字符串操作format字符串格式化regexp正则表达式(用于字符串模式匹配)regsub用正则表......
  • 字符串占位符替换——StringSubstitutor
    1背景众所周知Java中的字符串占位符替换非常不友好,无论是String#format还是MessageFormat#format都只能说能用,但说不上好用,关于以上两种字符串格式化的用法请参考:JavaStringformat和MessageFormatformat,本文推荐org.apache.commons.text.StringSubstitutor,StrSubstitutor是......
  • 二维字符串数组的传参时与指针互转时的问题
    二维数组如何传参二维字符串数组,转char**会导致的问题,以及编译报错要想得到正确的结果,需要按如下方式去写传参:#include<stdio.h>#include<string.h>//intchar_arr_copy(char**dest)//这样定义传参类型将导致编译报错,在低版本的编译器下或者没有报错但是得不到正确......
  • C语言月份字符转月份数值实现
    这里直接利用的宏就可以实现,月份字符串转月份数值功能,例如将“jan”转为数字1,即1月份。datetime.h#ifndef__DATETIME_H_#define__DATETIME_H_#include<rtthread.h>#defineMONTH_TABLE()\DEF_MONTH(Jan)\DEF_MONTH(Feb)\DEF_MONTH(Mar)\DEF_M......
  • java + geotools 读写shp时,中文属性乱码问题
    创建时要注意 :  newDataStore.setCharset(Charset.forName("GBK"));代码如下:FilenewFile=newFile(filepath);Map<String,Serializable>params=newHashMap<>();params.put("url",newFile.toURI().toURL());params.put("createspati......
  • JSON.parse() 方法中里面有函数,转化完成后是字符串问题
    要将JSON字符串中的函数还原回原来的函数对象,你可以使用JSON.parse()方法,并提供一个reviver函数来将字符串表示的函数重新转换为函数对象。以下是你可以使用的代码示例:varobj={"name":"Runoob","alexa":function(){return10000;},"site":"www.runoob.com"};//......
  • Java 中文官方教程 2022 版(四十一)
    原文:docs.oracle.com/javase/tutorial/reallybigindex.html错误处理原文:docs.oracle.com/javase/tutorial/jaxp/limits/error.html建议应用程序在设置新属性时捕获org.xml.sax.SAXNotRecognizedException异常,以便应用程序在不支持这些属性的旧版本上正常工作。例如,可下载的......