C# 用什么方法将BitConverter.ToString产生字符串再转换回去
作者:森大科技 发布时间:2021-10-07 17:49:40
本文介绍了C# 用什么方法将BitConverter.ToString产生字符串再转换回去,分享给大家,具体如下:
byte[] bytTemp = System.Text.Encoding.Default.GetBytes("String");
string str = System.BitConverter.ToString(bytTemp);
Console.WriteLine(str);
string[] strSplit = str.Split('-');
byte[] bytTemp2 = new byte[strSplit.Length];
for (int i = 0; i < strSplit.Length; i++)
bytTemp2[i] = byte.Parse(strSplit[i], System.Globalization.NumberStyles.AllowHexSpecifier);
string str2 = System.Text.Encoding.Default.GetString(bytTemp2);
Console.WriteLine(str2);
c#bitconverter.ToString转换为十六进制字符串
我使用 BitConverter.ToString(bytes)将字符串转换为十六进制字符串,我将其进一步转换为整数或浮点数。
但是输入流由0组成,表明字节值为0.所以假设我有一个整数,它由2个字节的输入表示,从位置x开始,第一个由 EE 组成,而第二个字节为 00 。现在当我使用 BitConverter.ToString(bytes,x,2).Replace( - ”,”)时,输出为 EE00 ,其整数值为 60928 ,但在这种情况下,输出应该是 238 字节 EE 为整数。
但在其他情况下,2个字节可能是 EE01 ,其整数值 60929 在这种情况下是正确的。
任何建议如何解决我的问题?
由于有人说这个问题令人困惑,我会重申我的问题我有很长的十六进制字符串作为输入。在十六进制字符串中,
1)前12个字节表示字符串。
2)接下来的11个字节也代表了其他一些字符串。
3)接下来1个字节表示整数。
4)接下来的3个字节表示整数。
5)接下来的4个字节表示整数。
6)接下来的4个字节表示浮点数。
7)接下来的7个字节表示字符串。
8)接下来的5个字节表示整数。
因此,对于第4种情况,如果字节是ee 00 00,那么我应该忽略0并将ee转换为整数。但是如果它是ee 00 ee,那么我应该将ee00ee转换为整数。我每次都会遵循上面提到的相同模式。
我的问题已解决。我正在犯Endianness的错误。我收到的数据是EE 00,在转换为整数之前,我应该将它作为00 EE。感谢所有为我提供解决方案的人,并抱歉错过了这个重要的问题。
PS:C# 使用BitConverter.ToString(byte[] value)转换后字符串带有横杠“-”,去掉横杠方法
使用BitConverter.ToString(byte[] value).Replace("-", ""),可去掉横杠
猜你喜欢
- 之前在Spring Boot启动过程(二)提到过createEmbeddedServletContainer创建了内嵌的Servlet容器,
- 首先定义一个加在方法上的注解import java.lang.annotation.*;/** * 开启自动参数填充 */@Retentio
- 本文实例讲述了java线程同步操作。分享给大家供大家参考,具体如下:java线程同步public class Hello { p
- 简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特
- 前言《模式策略的角色扮演游戏》游戏是自制的角色扮演游戏。选择两个角色,然后进行PK,可用来学习JAVA的接口,继承和多态。主要设计1.事先设
- 查了网上的资料,有比较全面的,但有一个问题就是容易出现一个文字和框子不符合的现象。(仔细看,蓝色字母和背景的灰色有空白)要消除这个空白,很简
- 当 Maven 无法依赖 spring-cloud-starter-zipkin 时,您可以尝试以下方法解决:确保拼写正确:请检查项目中的
- 1. 问题描述:自己修改了下 ${M2_HOME}/conf/settings.xml中的本地repository地址,但是重新执行mvn的
- 在Spring Boot的众多Starter POMs中有一个特殊的模块,它不同于其他模块那样大多用于开发业务功能或是连接一些其他外部资源。
- 前言在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并 * 况下使用HashMap
- 本文实例介绍了基于socket和javaFX简单文件传输工具,分享给大家供大家参考,具体内容如下package application;im
- 用java实现的登录与注册页面,实现了客户端(浏览器)到服务器(Tomcat)再到后端(servlet程序)数据的交互。这里在注册页面加入了
- java对象拷贝详解及实例Java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是无法达到目的的:@Testpublic
- 前言 * 体系是Struts2框架的重要组成部分,不夸张的说,没有 * 体系,也就没有这么好用的Struts2框架了。在Struts2框架中
- Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。1) redirect 方式response
- 概念在Java中,对象的生命周期包括以下几个阶段:创建阶段(Created)应用阶段(In Use)不可见阶段(Invisible)不可达阶
- 实践过程效果代码public partial class Form1 : Form {
- public class CrossSum{ public static void main(String args[]){
- 如何实现封装可以分为两步:第一步:将类的变量声明为private。第二步:提供公共set和get方法来修改和获取变量的值。代码展示publi
- 一、前言问题阐述:在某一场景下,我们的代码在 Service 实现相同,但却在 Controller 层访问时却希望不同的前缀可以访问。如下