zoukankan      html  css  js  c++  java
  • C#下ASCII码转字符串

    typedef vector<string> StrVector;
    void ASCII2String(const char * sz, StrVector& v1)
    {
    	int val = 0;
    	string str;
    	const char * p = sz;
    	while (*p)
    	{
    		str = "";
    		val = (int)*p;
    		val &= 0x000000ff;
    		while (val)
    		{
    			switch (val%16)
    			{
    			case 0xF:
    				str = "F"+str;
    				break;
    			case 0xE:
    				str = "E"+str;
    				break;
    			case 0xD:
    				str = "D"+str;
    				break;
    			case 0xC:
    				str = "C"+str;
    				break;
    			case 0xB:
    				str = "B"+str;
    				break;
    			case 0xA:
    				str = "A"+str;
    				break;
    			case 0x9:
    				str = "9"+str;
    				break;
    			case 0x8:
    				str = "8"+str;
    				break;
    			case 0x7:
    				str = "7"+str;
    				break;
    			case 0x6:
    				str = "6"+str;
    				break;
    			case 0x5:
    				str = "5"+str;
    				break;
    			case 0x4:
    				str = "4"+str;
    				break;
    			case 0x3:
    				str = "3"+str;
    				break;
    			case 0x2:
    				str = "2"+str;
    				break;
    			case 0x1:
    				str = "1"+str;
    				break;
    			case 0x0:
    				str = "0"+str;
    				break;
    		
    			}
    			val = val / 16; 
    		}
    		str = "0x"+str;
    		v1.push_back(str);
    		p++;
    	}
    }
    void Output(const char * sz, StrVector& v1)
    {
    	fstream fouts;
    	fouts.open("d:\\dev\\1.txt", fstream::out|fstream::app);
    	if (!fouts.bad())
    	{
    		fouts<<sz<<"\n";
    		for(StrVector::iterator it = v1.begin(); it != v1.end(); it++)
    		{
    			fouts<<*it<<", ";
    		}
    		fouts<<"\n";
    	}
    }
    int main( void )
    { 
    	StrVector v1;
    	char sz[255] = {0};
    	sprintf(sz, "%s", "香港");
    	ASCII2String(sz, v1);
    	for(StrVector::iterator it = v1.begin(); it != v1.end(); it++)
    	{
    		cout<<*it<<", ";
    	}
    	cout<<endl;
    	Output(sz, v1);
    	memset(sz, 0, sizeof(sz));
    	v1.clear();
    	sprintf(sz, "%s", "香港列表");
    	ASCII2String(sz, v1);
    	for(StrVector::iterator it = v1.begin(); it != v1.end(); it++)
    	{
    		cout<<*it<<", ";
    	}
    	cout<<endl;
    	Output(sz, v1);
    	return 0;
    }


  • 相关阅读:
    leetcode931
    leetcode1289
    leetcode1286
    poj Meteor Shower
    noip杂题题解
    noip2007部分题
    NOIP Mayan游戏
    某模拟题题解
    codevs 1423 骑士
    noip 邮票面值设计
  • 原文地址:https://www.cnblogs.com/rogerroddick/p/2846719.html
Copyright © 2011-2022 走看看