日期:2014-05-18  浏览次数:21278 次

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);

        }
    }
}