請撰寫一個程式讀入一連串編碼過的資料,輸出原來未編碼的數值,亦即這串資料所表示的中文字串。 =E4=B8=83=E5=85=AB=E4=B9=9D=E4=BA=94=E4=B8=80=E4=B8=89=E5=85=AB=E5=9B=9B↵ Ans=七八九五一三八四↵?

2017-07-24 3:51 pm

回答 (1)

2017-07-24 5:56 pm
✔ 最佳答案
#include<stdlib.h>
#include<iostream>
using namespace std;
int trans(char c){
if(c>='0' && c<='9'){
return c-'0';
}
return c-'A'+10;
}
int main(){
string s="=E4=B8=83=E5=85=AB=E4=B9=9D=E4=BA=94=E4=B8=80=E4=B8=89=E5=85=AB=E5=9B=9B";//Ans="七八九五一三八四";
string mod_s="";
//cin>>s; // 可改由手動輸入
freopen("out.txt","w",stdout);
int index=-1;
while((index=s.find('=')) >-1){

int itemp = -256+(trans(s.at(index+1))*16+trans(s.at(index+2)));
s = s.substr(0,index) + s.substr(index+1);
mod_s += itemp;
}
cout<<mod_s;
fclose(stdout);
system("out.txt");
}


收錄日期: 2021-05-04 02:21:46
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20170724075107AAdIW8G

檢視 Wayback Machine 備份