十六进制串,怎么传化成字符>>带汉字

lsgis2001 2015-05-10 01:39:50
以下代码,如果在C#下面完成?


这里是VB.NET代码.


Dim sStr As String

sStr = "E065344E8A5E0F61494E9798927C220020004C004E003D002200E065344E8A5E0F61494E9798927C22002000410046003D0022003000220020004E0052003D002200390039003900390039003900390039002000"

Dim sl_data As String
Dim sr_data As String
Dim sResult As String
sResult = ""
Dim i As Integer
For i = 0 To sStr.Length / 4 - 1 Step 4

sl_data = sStr.Substring(i + 2, 2)
sr_data = sStr.Substring(i, 2)

sResult = sResult + ChrW("&H" + sl_data + sr_data)

Next
Debug.Print(sResult)



输出结算如下:
无临床意义颗粒" LN


以下是VB6代码,


Dim sStr As String
sStr = "E065344E8A5E0F61494E9798927C220020004C004E003D002200E065344E8A5E0F61494E9798927C22002000410046003D0022003000220020004E0052003D002200390039003900390039003900390039002000"

debug.print HexToStr(sStr)

Public Function HexToStr(sHex As String) As String
Dim sl_d As String
Dim sr_d As String
Dim i As Integer

Dim sReturn As String
Dim sStr As String
sStr = sHex
For i = 0 To Len(sStr) / 2 - 1
sl_d = Mid(sStr, i + 2 + 1, 2)
rl_d = Mid(sStr, i + 1, 2)
i = i + 3
Debug.Print sl_d & rl_d; "=" + ChrW("&H" & sl_d & rl_d)

sReturn = sReturn & ChrW("&H" & sl_d & rl_d)

Next
HexToStr = sReturn
End Function



用以上VB代码,可以得到这种结果:
65E0=无
4E34=临
5E8A=床
610F=意
4E49=义
9897=颗
7C92=粒
0022="
0020=
004C=L
004E=N
003D==
0022="
65E0=无
4E34=临
5E8A=床
610F=意
4E49=义
9897=颗
7C92=粒
0022="
无临床意义颗粒" LN="无临床意义颗粒"
...全文
219 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2015-05-10
  • 打赏
  • 举报
回复

            var str = "e065344e8a5e0f61494e9798927c220020004c004e00";
            byte[] byteArray = new byte[str.Length / 2];
            for (int i = 0, k = 0; i < str.Length; i += 2, k++)
            {
                byteArray[k] = (byte)Convert.ToInt16(str.Substring(i, 2), 16);
            }
            Encoding gb = Encoding.GetEncoding("utf-16");  
            Console.WriteLine(gb.GetString(byteArray));
无临床意义颗粒" LN
x8bits 2015-05-10
  • 打赏
  • 举报
回复
void Main()
{
	string sStr = "E065344E8A5E0F61494E9798927C220020004C004E003D002200E065344E8A5E0F61494E9798927C22002000410046003D0022003000220020004E0052003D002200390039003900390039003900390039002000";
	byte[] bytes = ConvertHexStringToByteArray(sStr);
	string result = System.Text.Encoding.Unicode.GetString(bytes);
	Console.WriteLine(result);
}

public static byte[] ConvertHexStringToByteArray(string hexString)
{
    if (hexString.Length % 2 != 0)
    {
        throw new ArgumentException(String.Format(System.Globalization.CultureInfo.InvariantCulture, "The binary key cannot have an odd number of digits: {0}", hexString));
    }

    byte[] hexAsBytes = new byte[hexString.Length / 2];
    for (int index = 0; index < hexAsBytes.Length; index++)
    {
        string byteValue = hexString.Substring(index * 2, 2);
        hexAsBytes[index] = byte.Parse(byteValue, System.Globalization.NumberStyles.HexNumber, System.Globalization.CultureInfo.InvariantCulture);
    }

    return hexAsBytes; 
}
无临床意义颗粒" LN="无临床意义颗粒" AF="0" NR="99999999
  • 打赏
  • 举报
回复
看着像GB2312
byte[] byteArray = new byte[] { (byte)rdUpperValue, (byte)rdLowValue };  
Encoding gb = Encoding.GetEncoding("gb2312");  
gb.GetString(byteArray)
内容概要:本文系统研究了基于雅可比伪逆迭代的双臂协同轨迹规划与跟踪误差收敛性问题,结合机械臂正向与逆向运动学建模、蒙特卡洛法分析工作空间、笛卡尔空间内的圆弧轨迹生成等关键技术,利用Matlab实现了双臂系统的协同控制与轨迹跟踪仿真。重点探讨了雅可比矩阵伪逆法在解决冗余自由度机械臂逆运动学问题中的应用,深入分析了轨迹跟踪过程中误差的收敛特性,并通过仿真实验验证了该方法在复杂任务场景下的有效性、稳定性与鲁棒性,为多臂机器人在工业自动化、精密操作等领域的协同作业提供了理论依据与技术支持。; 适合人群:具备机器人学、自动控制理论基础及Matlab编程能力的科研人员与工程技术人员,特别适合从事机械臂控制、轨迹规划、多机器人协同等方向的硕士、博士研究生及相关领域研究人员。; 使用场景及目标:①掌握基于雅可比伪逆法的机械臂逆运动学求解原理与实现方法;②理解双臂系统在笛卡尔空间中协同轨迹规划的机制;③分析并优化轨迹跟踪过程中的误差收敛性能;④为多机器人系统在复杂动态环境下的高精度协同控制提供算法设计与仿真验证支持。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,按照文档目录循序渐进地学习,重点关注算法实现细节、仿真参数设置与结果分析部分,同时可进一步探索将智能优化算法或深度学习方法引入轨迹规划与误差补偿的研究方向。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧