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[]) 就行了
[解决办法]
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数组大小修改一下:
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); } }}