广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#字节数组(byte[])和字符串相互转换方式
  • 866
分享到

C#字节数组(byte[])和字符串相互转换方式

C#字节数组C#byte[]C#字符串 2023-02-28 17:02:43 866人浏览 安东尼
摘要

目录C#字节数组(byte[])和字符串相互转换C#字节数组向类型的转化字节数组与图像字节数组与字符串字节数组与整数字节数组与Object总结C#字节数组(byte[])和字符串相互

C#字节数组(byte[])和字符串相互转换

通过C#中的system.text.encoding获取字符串的编码可以有ASCII,DEFAULT,utf-8以及其他一些方式

对于英文而言这几种所获取的编码是没有太大区别的,而中文则大有不同,其中DEFAULT所采取的是GB2312

可以通过一下方式进行确认,程序运行后会发现bufOfGB和buf是相同的

                string str = "hello,我的祖国";
                byte[] bufOfGB = System.Text.Encoding.GetEncoding("gb2312").GetBytes(str);
                Array.ForEach(bufOfGB,m=>Console.WriteLine(m));
                Console.WriteLine(System.Text.Encoding.Default);
                byte[] buf = System.Text.Encoding.Default.GetBytes(str);
                Array.ForEach(buf,m=>Console.WriteLine(m));
                Console.WriteLine("-------------");
                byte[] bufOfASCII = System.Text.Encoding.ASCII.GetBytes(str);
                Array.ForEach(bufOfASCII,m=>Console.WriteLine(m));
                Console.WriteLine("-------------");
                byte[] bufOfUTF = System.Text.Encoding.UTF8.GetBytes(str);
                Array.ForEach(bufOfUTF,m=>Console.WriteLine(m));
                Console.WriteLine("-------------");
byte[] byteArray ={43,45,67,88,23,1f}
string str = System.Text.Encoding.Default.GetString(byteArray);

C#字节数组向类型的转化

字节数组与图像

      #region BytesToBmp【函数】将字节数组转化为图像
        /// <summary>
        /// 【函数】将字节数组转化为图像
        /// </summary>
        /// <param name="buffer"></param>
        /// <returns></returns>
        public static Image BytesToBmp(byte[] buffer)
        {
            MemoryStream ms = new MemoryStream(buffer);
            ms.Position = 0;
            Image img = Image.FromStream(ms);
            ms.Close();
            return img;
        }
        #endregion
 
        #region BmpToBytes【函数】将图像转化为字节数组
        /// <summary>
        /// 【函数】将图像转化为字节数组
        /// </summary>
        /// <param name="Bit"></param>
        /// <returns></returns>
        public static byte[] BmpToBytes(Bitmap Bit)
        {
            byte[] back = null;
            MemoryStream ms = new MemoryStream();
            Bit.Save(ms, System.Drawing.Imaging.ImageFORMat.Png);
            back = ms.GetBuffer();
            return back;
        }
        #endregion

字节数组与字符串

        #region StringToBytes【函数】将字符串转化为字节组
        /// <summary>
        /// 【函数】将字符串转化为字节组
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static byte[] StringToBytes(string str)
        {
            byte[] data = System.Text.Encoding.Default.GetBytes(str);
        }
        #endregion
 
        #region BytesToString【函数】将字节数组转化为字符串
        /// <summary>
        /// 【函数】将字节数组转化为字符串
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string BytesToString(byte[] data)
        {
            string str = System.Text.Encoding.Default.GetString(data);
            return str;
        }
        #endregion

字节数组与整数

   #region BytesToInt【函数】byte数组转int数组  
        /// <summary>  
        /// 【函数】byte数组转int数组
        /// </summary>  
        /// <param name="src">源byte数组</param>  
        /// <param name="offset">起始位置</param>  
        /// <returns></returns>  
        public static int[] BytesToInt(byte[] src, int offset)
        {
            int[] values = new int[src.Length / 4];
            for (int i = 0; i < src.Length / 4; i++)
            {
                int value = (int)((src[offset] & 0xFF)
                        | ((src[offset + 1] & 0xFF) << 8)
                        | ((src[offset + 2] & 0xFF) << 16)
                        | ((src[offset + 3] & 0xFF) << 24));
                values[i] = value;
                offset += 4;
            }
            return values;
        }
        #endregion
 
        #region IntToBytes【函数】int数组转byte数组 
        /// <summary>  
        /// 【函数】int数组转byte数组  
        /// </summary>  
        /// <param name="src">源int数组</param> 
        /// <param name="offset">起始位置,一般为0</param>  
        /// <returns>values</returns>  
        public static byte[] IntToBytes(int[] src, int offset)
        {
            byte[] values = new byte[src.Length * 4];
            for (int i = 0; i < src.Length; i++)
            {
 
                values[offset + 3] = (byte)((src[i] >> 24) & 0xFF);
                values[offset + 2] = (byte)((src[i] >> 16) & 0xFF);
                values[offset + 1] = (byte)((src[i] >> 8) & 0xFF);
                values[offset] = (byte)(src[i] & 0xFF);
                offset += 4;
            }
            return values;
        }
        #endregion

字节数组与Object

        #region ObjectToBytes【函数】将一个object对象序列化,返回一个byte[]     
        /// <summary> 
        /// 【函数】将一个object对象序列化,返回一个byte[]         
        /// </summary> 
        /// <param name="obj">能序列化的对象</param>         
        /// <returns></returns> 
        public static byte[] ObjectToBytes(object obj)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(ms, obj);
                return ms.GetBuffer();
            }
        }
        #endregion
 
        #region BytesToObject【函数】将一个序列化后的byte[]数组还原   
        /// <summary> 
        /// 【函数】将一个序列化后的byte[]数组还原         
        /// </summary>
        /// <param name="Bytes"></param>         
        /// <returns></returns> 
        public static object BytesToObject(byte[] Bytes)
        {
            using (MemoryStream ms = new MemoryStream(Bytes))
            {
                IFormatter formatter = new BinaryFormatter();
                return formatter.Deserialize(ms);
            }
        }
        #endregion

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C#字节数组(byte[])和字符串相互转换方式

本文链接: https://www.lsjlt.com/news/197838.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#字节数组(byte[])和字符串相互转换方式
    目录C#字节数组(byte[])和字符串相互转换C#字节数组向类型的转化字节数组与图像字节数组与字符串字节数组与整数字节数组与Object总结C#字节数组(byte[])和字符串相互...
    99+
    2023-02-28
    C#字节数组 C# byte[] C#字符串
  • C#字节数组和字符串怎么相互转换
    这篇“C#字节数组和字符串怎么相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#字节数组和字符串怎么相互转换”文章吧...
    99+
    2023-07-05
  • C#中字符串与字节数组的转换方式
    一、编码(转成字节数组)GetBytes   1、ASII码:字符串中的每个字符用一个字节表示。 每个字符实际上只使用了7位,从00h-7Fh。只能表达128个字符。不能代...
    99+
    2022-11-13
  • python字符串str和字节数组相互转化方法
    实例如下: # bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encodin...
    99+
    2022-06-04
    数组 字符串 字节
  • C#字符串和Acsii码相互转换
    1,现在因为遇到一个读取pdf文件文本信息遇到乱么问题,才找到这个文本字符串的编码转换的实现方式来判断是否存在乱码(0>乱码>255): C# 字符转ASCII码,ASC...
    99+
    2023-02-06
    C#字符串和Acsii码转换 C#字符串转换Acsii码
  • golang怎么将字符串转为字节数组(byte)
    Golang是一门强大的编程语言,拥有许多有用的库和函数。其中有一个非常有用的功能是将字符串转换为字节数组。在本篇文章中,我们将深入探讨如何使用Golang函数将字符串转换为字节数组。Golang提供了几种将字符串转换为字节数组的方法。其中...
    99+
    2023-05-14
    go语言 Golang 字符串
  • C++实现字符串和整数的相互转换
    目录字符串转换整数方法1方法2(推荐)整数转换字符串字符串转换整数 方法1 #include <iostream> #include <typeinfo> ...
    99+
    2023-01-03
    C++字符串转整数 C++整数转字符串 C++ 整数 字符串
  • C#中怎么将字节数组转换成字符串
    C#中怎么将字节数组转换成字符串,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#字节数组转换成字符串如果还想从 System.String 类中找到方法进行字符串和字节数组之...
    99+
    2023-06-17
  • Golang中字符串(string)与字节数组([]byte)一行代码互转实例
    目录一、字符串与字节数组?二、详细代码1.简单的方式字节转字符串2.简单的字符串转字节数组3.字节转字符串4.字符串转字节数组5.完整运行测试补充:一些结论如下总结一、字符串与字节数...
    99+
    2022-11-11
  • PHP中的数组和字符串怎么互相转换
    本篇内容介绍了“PHP中的数组和字符串怎么互相转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP数组转字符串 implode() &l...
    99+
    2023-06-17
  • Python字符串str和json格式相互转换
    目录1. 通过json.loads进行转换2.json转str3. 通过eval前言: str转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大...
    99+
    2022-11-13
  • Python字符串、元组、列表、字典互相转换的方法
    废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅。 #-*-coding:utf-8-*- #1、字典 dict = {'name': 'Zara', 'age': 7, 'class'...
    99+
    2022-06-04
    字符串 字典 方法
  • PHP中数组与字符串如何相互转换
    这篇文章主要为大家展示了“PHP中数组与字符串如何相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP中数组与字符串如何相互转换”这篇文章吧。explode()函数-字符串转化为数组ex...
    99+
    2023-06-25
  • python3 字符串str和bytes相互转换
    目录1.相关基础2.str和bytes相互转换2.1 bytes->str2.2 str->bytes1.相关基础 python3中有两种字符串类型:str和bytes ...
    99+
    2022-11-13
  • Golang字符串与字节数组怎么互转
    本篇内容主要讲解“Golang字符串与字节数组怎么互转”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang字符串与字节数组怎么互转”吧!一、字符串与字节数组?字符串是 Go 语言中最常用的...
    99+
    2023-06-29
  • C#中对象与JSON字符串互相转换的三种方式
    JSON(JavaScriptObject Notation, JS 对象标记) 是一种轻量级的数据交换格式。 关于内存对象和JSON字符串的相互转换,在实际项目中应比较广泛,经过一...
    99+
    2022-11-13
  • Golang字符串与字节数组互转的实现
    目录一、字符串与字节数组?二、详细代码1.字节转字符串2.字符串转字节数组3.完整运行测试总结一、字符串与字节数组? 字符串是 Go 语言中最常用的基础数据类型之一,本质上是只读的字...
    99+
    2022-11-13
  • Java中字符串与byte数组之间的转换方法
    在Java编程中,我们常常需要对字符串和byte数组进行转换。字符串一般是用来表示文本信息,而byte数组则是用来表示二进制数据,如图片、音频等。本文将详细介绍Java中字符串和byte数组之间的转换方法,包括将字符串转换为byte数组和将...
    99+
    2023-08-18
    java 数据结构 前端
  • Python字符串str和json格式如何相互转换
    这篇文章主要介绍了Python字符串str和json格式如何相互转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言:str转换为json格式,前提一定需要保证这个str的...
    99+
    2023-06-29
  • 关于java数组与字符串相互转换的问题
    1.char数组(字符数组)->字符串 可以通过:使用String.copyValueOf(charArray)函数实现。   举例: char[] arr={'a','b...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作