【发布时间】:2014-09-22 11:40:33
【问题描述】:
我正在尝试转换String to ASCII 代码,所以我使用了这个函数:
public List<string> PrimaryCode(string OrginalStr)
{
List<string> lstResult = new List<string>();
int lenOrginal = OrginalStr.Length;
string subOrginalStr;
byte[] AsciisubOrginalStr;
int AC;
for (int i = 0; i < lenOrginal; i++)
{
subOrginalStr = OrginalStr.Substring(i, 1);
AsciisubOrginalStr = Encoding.ASCII.GetBytes(subOrginalStr);
if (AsciisubOrginalStr[0] > 100)
{
AC = Convert.ToInt32(AsciisubOrginalStr[0]);
lstResult.Add((AC ).ToString());
}
else
{
AC = Convert.ToInt32(AsciisubOrginalStr[0]);
lstResult.Add((AC).ToString());
}
}
return lstResult;
}
我项目的另一部分我需要将ASCII 代码转换为原始文本,如您所见,我使用了此功能:
public List<string> PrimaryCodeRev(List<string> CodedStr)
{
string res = "";
foreach (string s in CodedStr)
{
res = res+s;
}
List<string> lstResult = new List<string>();
int lenOrginal = res.Length;
string subOrginalStr;
byte[] AsciisubOrginalStr;
int AC;
for (int i = 0; i < lenOrginal; i++)
{
subOrginalStr = res.Substring(i, 1);
AsciisubOrginalStr = Encoding.ASCII.GetBytes(subOrginalStr);
if (AsciisubOrginalStr[0] < 100)
{
AC = Convert.ToInt32(AsciisubOrginalStr[0]);
lstResult.Add((AC).ToString());
}
else
{
AC = Convert.ToInt32(AsciisubOrginalStr[0]);
lstResult.Add((AC).ToString());
}
}
return lstResult;
}
字符串输入hello
转换成ascii结果:
将 ascii 转换为正文:
但它不起作用并且它不返回正文。为什么 ?
【问题讨论】:
-
具体告诉我们它“不起作用”。
-
顺便说一下,我只能看到这两种方法之间的一个区别(
if表达式)。你绝对应该考虑重构。 -
好的,我会尽快添加结果
-
最好将字符串转换为 UTF-8,然后对其进行 base64 编码
-
不容易给出你问的问题。什么时候有助于理解是为什么你需要转换字符串。为什么不能按原样使用它。
标签: c# ascii converter typeconverter