vc 怎样把“abc你好”这个字符串,转换成utf-16编码。
答案:3 悬赏:0
解决时间 2021-02-23 07:17
- 提问者网友:先森请一心
- 2021-02-23 00:35
vc 怎样把“abc你好”这个字符串,转换成utf-16编码。
最佳答案
- 二级知识专家网友:情战凌云蔡小葵
- 2021-02-23 01:52
如果你是unicode编码 :
bool UnicodeToUTF8(vector<char>& pu8, const wchar_t* pun, int32 uLen)
{
// convert an widechar string to utf8
int32 utf8Len = WideCharToMultiByte(CP_UTF8, 0, pun, uLen, NULL, 0, NULL, NULL);
if (utf8Len<=0)
{
return false;
}
pu8.resize(utf8Len);
int32 nRtn = WideCharToMultiByte(CP_UTF8, 0, pun, uLen, &*pu8.begin(), utf8Len, NULL, NULL);
if (nRtn != utf8Len)
{
pu8.clear();
return false;
}
return true;
}
如果你是多字节编码:
WCHAR* lpszW = NULL;
try
{
lpszW = new WCHAR[nLen];
}
catch(bad_alloc &memExp)
{
return false;
}
int32 nRtn = MultiByteToWideChar(CP_ACP, 0, pmb, mLen, lpszW, nLen);
if(nRtn != nLen)
{
delete[] lpszW;
return false;
}
// convert an widechar string to utf8
int32 utf8Len = WideCharToMultiByte(CP_UTF8, 0, lpszW, nLen, NULL, 0, NULL, NULL);
if (utf8Len <= 0)
{
return false;
}
pu8.resize(utf8Len);
nRtn = WideCharToMultiByte(CP_UTF8, 0, lpszW, nLen, &*pu8.begin(), utf8Len, NULL, NULL);
delete[] lpszW;
if (nRtn != utf8Len)
{
pu8.clear();
return false;
}
return true;
}
bool UnicodeToUTF8(vector<char>& pu8, const wchar_t* pun, int32 uLen)
{
// convert an widechar string to utf8
int32 utf8Len = WideCharToMultiByte(CP_UTF8, 0, pun, uLen, NULL, 0, NULL, NULL);
if (utf8Len<=0)
{
return false;
}
pu8.resize(utf8Len);
int32 nRtn = WideCharToMultiByte(CP_UTF8, 0, pun, uLen, &*pu8.begin(), utf8Len, NULL, NULL);
if (nRtn != utf8Len)
{
pu8.clear();
return false;
}
return true;
}
如果你是多字节编码:
WCHAR* lpszW = NULL;
try
{
lpszW = new WCHAR[nLen];
}
catch(bad_alloc &memExp)
{
return false;
}
int32 nRtn = MultiByteToWideChar(CP_ACP, 0, pmb, mLen, lpszW, nLen);
if(nRtn != nLen)
{
delete[] lpszW;
return false;
}
// convert an widechar string to utf8
int32 utf8Len = WideCharToMultiByte(CP_UTF8, 0, lpszW, nLen, NULL, 0, NULL, NULL);
if (utf8Len <= 0)
{
return false;
}
pu8.resize(utf8Len);
nRtn = WideCharToMultiByte(CP_UTF8, 0, lpszW, nLen, &*pu8.begin(), utf8Len, NULL, NULL);
delete[] lpszW;
if (nRtn != utf8Len)
{
pu8.clear();
return false;
}
return true;
}
全部回答
- 1楼网友:甜野猫
- 2021-02-23 03:28
理论上破解MD5加密
因为它有一个不同的函数加密
你可以试试,
请注意,不开裂,但通过多年的积累,已经存在乱码相应的数据存储,如果你进的MD5店,那么你可以找到
但不一定是正确的,因为在不断变化的MD5函数的
。 。 。
连接,
这是
任何转换工??具,是不可能被破解
所谓的破解是他们有他们的数据库的16位代码的存在恰恰对应的不一定是正确的裂纹对应的代码,你或以上,可能是不同的功能
- 2楼网友:我颠覆世界
- 2021-02-23 02:38
#include <stdio.h> #include <string.h> #include "stdlib.h" #include <conio.h> #define size 100 //定义一个栈 typedef struct { int x[size]; int top ; }stack; //栈初始化 void init(stack &p){ p.top=0; } //入栈 int push(stack &p,int &e){ if (p.top<size) { p.x[p.top++]=e; return 1; } return 0; } //出栈 int pop(stack &p,int &e){ if (p.top>0) { e=p.x[--p.top]; return 1; } return 0; } //将 n进制数据转化为十进制表示 void td(char s[],int n,int &num){ char *p; int e; p=s; num=0; while(*p){ if(*p>='a') //16 进制转化 e=*p-'a'+10; else e=*p-'0'; p++; num=num*n+e; } } //将十进制转化为 m 进制 void tp(int num,int m,char s[]){ // int n=0,e; char *p; stack b; init(b); p=s; while(num){ //将十进制数据逐位分离 压入栈中 此时 数据为倒序 n=num%m; if(n>9) e=n-10+'a'; else e=n+'0'; push(b,e); num/=m; } while(pop(b,e)){ //从栈中取出元素,存入数组 s 中 此时 数据为顺序 *p=e; p++; } *p='\0'; //在数组 尾部加结束标志 } int check(char s[],int n){ char *p; p=s; if(n<=10){ while(*p){ if(*p-'0'>n) return 1; p++; } } else if(n>10){ while(*p){ if(*p>='a'&&*p-'a'+10>n) return 1; p++; } } return 0; } void trans(char s[],int n,int m){ int *p,num; td(s,n,num); s[0]='\0'; tp(num,m,s); } void main(){ int n,m; char s[size],c; int fp=1; //是否结束的标志 do{ puts("\t\t\t数据的各个进制之间的转化\n"); s[0]='\0'; //数组初始化 printf("\n输入一个数据: "); gets(s); //读入数据 字符串型 printf("\b输入原来的进制 和 要转化的进制, 如 10-2 : "); scanf("%d%c%d",&n,&c,&m); //读入 进制转化 由 n进制转化为 m进制 输入形式 如:10-2 16-2 if(check(s,n)) { //判断是否合法 printf("\n\t错误 !输入的数据与进制不相配, 按任意键,继续输入。"); getch(); } else{ printf("\n结果\n\t\t\t%d 进制 : %s ",n,s); trans(s,n,m);//转化 printf("\n \t\t\t%d 进制 : %s \n\n",m,s); //输出 数据 字符串型 printf("\t\t\t继续输入 1, 退出输入 0: "); scanf("%d",&fp); } c=getchar(); //读取 回车键 system("cls"); }while(fp); }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯