首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串十六进制到Bool,字符串十六进制到字符串ASCII转换

字符串十六进制到Bool,字符串十六进制到字符串ASCII转换
EN

Stack Overflow用户
提问于 2019-05-28 12:03:04
回答 1查看 116关注 0票数 1

有关申请的详细资料:

  • 在Visual 2019下开发(Windows 10)
  • UWP平台上用C# & XAML语言设计

我的应用程序从远程服务器接收帧。在接收到帧后,我对所有接收到的信息进行解码,这就是我遇到的问题。

接收到的数据(十六进制):CA0000000100000030000000010000003137322E31362E3233392E343100000000000000000000000000000000000000

代码:

代码语言:javascript
复制
int _IndexLecture = 0;
bool _PRIORITE;
string _ABONNE;

_TraitementString = _Decode.Substring(_IndexLecture + 8, 2);
_VOIE = Convert.ToSByte(_TraitementString, 16);

_TraitementString = _Decode.Substring(_IndexLecture + 24, 2);
_PRIORITE = Convert.ToBoolean(_TraitementString);

_TraitementString = _Decode.Substring(_IndexLecture + 32, 64);
_ABONNE = Convert.ToString(_TraitementString);

取得的结果:

代码语言:javascript
复制
_VOIE = 1
_PRIORITE = 
_ABONNE = 

评价结果:

代码语言:javascript
复制
_VOIE = 1
_PRIORITE = TRUE
_ABONNE = "172.16.239.41"

如何将hex string传递给boolASCII string以找到正确的值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-29 08:31:22

字符串十六进制到Bool,字符串十六进制到字符串ASCII转换

_PRIORITE不正确的原因,因为_IndexLecture是字符串类型。无法将此"01“字符串参数传递给ToBoolean(sting value)方法,只能传递"true”或"false“字符串参数。请使用以下方法替换。

代码语言:javascript
复制
_TraitementString = _Decode.Substring(_IndexLecture + 24, 2);   
_PRIORITE = Convert.ToBoolean(int.Parse(_TraitementString, System.Globalization.NumberStyles.AllowHexSpecifier));

如何将十六进制字符串传递给IPAddress

你可以把这个案子转交给reply。请注意,因特网协议第4版(IPv4)将IP地址定义为32位数字.因此,它可以用8位十六进制数表示.请检查_TraitementString是否正确。

代码语言:javascript
复制
var ip = new IPAddress(long.Parse("4a0e94cb", NumberStyles.AllowHexSpecifier));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56341854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档