c++中译数/数译中

众所周知,c++中可以输入汉字也可以输出汉字
众所不知,rtf文件改后缀为txt时会出一堆奇怪的东西

花一节课的时间研究了一下

现在有了中译数和数译中的代码
可以把txt中的一坨翻译成正常的汉字

中译数
#include<bits/stdc++.h>
using namespace std;
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 sz=a.size();
	for(int i=0;i<sz;++i)
	{
		int x=a[i];
		ct(x+256);
	}
}

效果

数译中
#include<bits/stdc++.h>
using namespace std;
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;
	}
}
效果


最新发现
翻译对于中英混合字符串也同样适用


4.16最最新发现
中译数和数译中的两个函数可以解决一些16进制的题(注意大小写)
洛谷P7106

posted @ 2024-04-16 11:34  Miqa  阅读(76)  评论(3编辑  收藏  举报