首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

16进制 怎么转换ascii 码 C

2012-05-10 
16进制 如何转换ascii 码 C#44 56 49 41 30 32 33 32 2E 35 0D 0A 44 56 49 42 30 32 33 34 2E 32 0D 0A 4

16进制 如何转换ascii 码 C#
44 56 49 41 30 32 33 32 2E 35 0D 0A 44 56 49 42 30 32 33 34 2E 32 0D 0A 44 56 49 43 30 32 32 39 2E 36 0D 0A 44 56 4F 41 30 32 32 38 2E 31 0D 0A 44 56 4F 42 30 32 32 34 2E 35 0D 0A 44 56 4F 43 30 32 32 39 2E 31 0D 0A 44 4C 4F 41 30 30 32 38 2E 34 0D 0A 44 4C 4F 42 30 30 35 30 2E 32 0D 0A 44 4C 4F 43 30 30 33 32 2E 36 0D 0A 44 54 4D 50 30 30 34 32 2E 30 0D 0A 44 48 5A 46 30 30 35 30 2E 30 0D 0A 44 56 42 54 30 34 34 30 2E 31 0D 0A 44 56 42 4E 30 30 30 30 2E 30 0D 0A 44 54 4D 42 30 31 32 30 2E 30 0D 0A 44 56 42 4C 30 31 30 30 2E 30 0D 0A 

转换后应该为
DVIA0232.5
DVIB0234.2
DVIC0229.6
DVOA0228.1
DVOB0224.5
DVOC0229.1
DLOA0028.4
DLOB0050.2
DLOC0032.6
DTMP0042.0
DHZF0050.0
DVBT0440.1
DVBN0000.0
DTMB0120.0
DVBL0100.0

其中 0D 0A 不转换

[解决办法]
你 16 进的怎么存的?byte[] 的话你直接 Encoding.Default.GetString(byte[]) 就行了
[解决办法]

C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.IO;namespace sxLdfang{    class Program    {        static void  Main()        {            string s = "44564941303233322E350D0A44564942303233342E320D0A44564943303232392E360D0A44564F41303232382E310D0A44564F42303232342E350D0A44564F43303232392E310D0A444C4F41303032382E340D0A444C4F42303035302E320D0A444C4F43303033322E360D0A44544D50303034322E300D0A44485A46303035302E300D0A44564254303434302E310D0A4456424E303030302E300D0A44544D42303132302E300D0A4456424C303130302E300D0A";            byte[]buff=new byte[s.Length];            int index=0;            for (int i = 0; i < s.Length; i += 2)            {                buff[index] = Convert.ToByte(s.Substring(i, 2), 16);                ++index;            }            string result = Encoding.Default.GetString(buff);            Console.Write(result);        }    }}
[解决办法]
错了一点,byte数组大小修改一下:
C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.IO;namespace sxLdfang{    class Program    {        static void  Main()        {            string s = "44564941303233322E350D0A44564942303233342E320D0A44564943303232392E360D0A44564F41303232382E310D0A44564F42303232342E350D0A44564F43303232392E310D0A444C4F41303032382E340D0A444C4F42303035302E320D0A444C4F43303033322E360D0A44544D50303034322E300D0A44485A46303035302E300D0A44564254303434302E310D0A4456424E303030302E300D0A44544D42303132302E300D0A4456424C303130302E300D0A";            byte[]buff=new byte[s.Length/2];            int index=0;            for (int i = 0; i < s.Length; i += 2)            {                buff[index] = Convert.ToByte(s.Substring(i, 2), 16);                ++index;            }            string result = Encoding.Default.GetString(buff);            Console.Write(result);        }    }} 

热点排行