关键代码:
usingSystem.Text;namespaceYanZhiwei.DotNet2.Utilities.Common
{/// <summary>/// ASCII 帮助类/// </summary>publicstaticclassASCIIHelper
{/** 知识:* ASCII是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。* 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像* a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用* 二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想* 互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上* 述常用符号用哪些二进制数来表示。** ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二* 进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。*/#region转换为ASCII码/// <summary>/// 转换为ASCII码/// </summary>/// <param name="data">字符</param>/// <returns>ASCII码</returns>publicstaticintToASCII(thischardata)
{
ASCIIEncoding _asciiEncoding =newASCIIEncoding();char[] _array =newchar[1] { data };return(int)_asciiEncoding.GetBytes(_array)[0];
}/// <summary>/// 将字符串转换为转换为ASCII码/// </summary>/// <param name="data">字符串</param>/// <returns>byte[]</returns>publicstaticbyte[] ToASCII(thisstringdata)
{byte[] asciiBytes =null;if(!string.IsNullOrEmpty(data))
asciiBytes = Encoding.ASCII.GetBytes(data);returnasciiBytes;
}#endregion#region将ASCII码转换为字符/// <summary>/// 将ASCII码转换为字符/// </summary>/// <param name="asciiCode">SCII码</param>/// <returns>字符</returns>publicstaticcharToChar(thisbyteasciiCode)
{
ASCIIEncoding _asciiEncoding =newASCIIEncoding();byte[] _array =newbyte[] { asciiCode };return_asciiEncoding.GetString(_array)[0];
}#endregion}
}
.csharpcode, .csharpcodePRe
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp{ background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
单元测试:
usingMicrosoft.VisualStudio.TestTools.UnitTesting;namespaceYanZhiwei.DotNet2.Utilities.Common.Tests
{
[TestClass()]publicclassASCIIHelperTests
{
[TestMethod()]publicvoidToASCIITest()
{int_actual = ASCIIHelper.ToASCII('.');
Assert.AreEqual(46, _actual);byte[] _actualArray = ASCIIHelper.ToASCII("Hello");
CollectionAssert.AreEqual(newbyte[5] { 72, 101, 108, 108, 111 }, _actualArray);
}
[TestMethod()]publicvoidToCharTest()
{char_actual = ASCIIHelper.ToChar(46);
Assert.AreEqual('.', _actual);
}
}
}
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }