[C#]ASCIIHelper

來源:互聯網
上載者:User

標籤:

關鍵代碼:

using System.Text;namespace YanZhiwei.DotNet2.Utilities.Common{    /// <summary>    /// ASCII 協助類    /// </summary>    public static class ASCIIHelper    {        /*         * 知識:         * 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>        public static int ToASCII(this char data)        {            ASCIIEncoding _asciiEncoding = new ASCIIEncoding();            char[] _array = new char[1] { data };            return (int)_asciiEncoding.GetBytes(_array)[0];        }        /// <summary>        /// 將字串轉換為轉換為ASCII碼        /// </summary>        /// <param name="data">字串</param>        /// <returns>byte[]</returns>        public static byte[] ToASCII(this string data)        {            byte[] asciiBytes = null;            if (!string.IsNullOrEmpty(data))                asciiBytes = Encoding.ASCII.GetBytes(data);            return asciiBytes;        }        #endregion        #region 將ASCII碼轉換為字元        /// <summary>        /// 將ASCII碼轉換為字元        /// </summary>        /// <param name="asciiCode">SCII碼</param>        /// <returns>字元</returns>        public static char ToChar(this byte asciiCode)        {            ASCIIEncoding _asciiEncoding = new ASCIIEncoding();            byte[] _array = new byte[] { asciiCode };            return _asciiEncoding.GetString(_array)[0];        }        #endregion    }}

單元測試:

using Microsoft.VisualStudio.TestTools.UnitTesting;namespace YanZhiwei.DotNet2.Utilities.Common.Tests{    [TestClass()]    public class ASCIIHelperTests    {        [TestMethod()]        public void ToASCIITest()        {            int _actual = ASCIIHelper.ToASCII(‘.‘);            Assert.AreEqual(46, _actual);            byte[] _actualArray = ASCIIHelper.ToASCII("Hello");            CollectionAssert.AreEqual(new byte[5] { 72, 101, 108, 108, 111 }, _actualArray);        }        [TestMethod()]        public void ToCharTest()        {            char _actual = ASCIIHelper.ToChar(46);            Assert.AreEqual(‘.‘, _actual);        }    }}

[C#]ASCIIHelper

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.