• C#中的流_字节_字符_字符串之间的相互转换


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace 流_字节_字符_字符串
    {
        class Program
        {
            #region 简单介绍
            //流:二进制
    
            //字节:无符号整数
    
            //字符:Unicode编码字符
    
            //字符串:多个Unicode编码字符 
            #endregion
            static void Main(string[] args)
            {
                //byte a = 99;
                //byte b = 199;
                //byte c =(byte) (a + b);//这边溢出等于42
                //Console.WriteLine(c);
    
                string str = "huage1234";
    
                using (MemoryStream m_stream = new MemoryStream())
                {
                    Console.WriteLine(string.Format("初始字符串:{0}", str));
                    if (m_stream.CanWrite)//如果可写入
                    {
                        byte[] strBytes = Encoding.Default.GetBytes(str);//string->byte[]
                        //从数组中的第一个位置开始写入,长度为3,写完之后stream里面有数据
                        m_stream.Write(strBytes, 0, 3);//byte[]->stream
                        Console.WriteLine("现在Stream.Postion在第{0}位置", m_stream.Position + 1);
                    }
                    byte[] resBytes = new byte[m_stream.Length];
                    m_stream.Position = 0;//这边要设置一下stream的起始位置,不然读取的时候从不是起始位置读取到不全的数据
                    var count = m_stream.Read(resBytes, 0, (int)resBytes.Length);//stream->byte[]
                    var resStr = Encoding.Default.GetString(resBytes);//byte[]->字符串
                    Console.WriteLine(resStr);
                }
    
                char[] charArr = str.ToCharArray();//string->char[]
                string res = new string(charArr);//char[]->string
    
                string charStr = "";
                foreach (var a in charArr)  //char[]->string
                    charStr += a;
    
                byte[] charBytes = Encoding.Default.GetBytes(charArr);//char[]->byte[]
                char[] byteChar = Encoding.Default.GetChars(charBytes);//byte[]->char[]
    
                byte[] charBytes1 = new byte[charArr.Length];
                char[] byteChar1 = new char[charBytes1.Length];
    
                for (var i = 0; i < charArr.Length; i++)
                    charBytes1[i] = Convert.ToByte(charArr[i]);//char[]->byte[]
    
                for (var j = 0; j < charBytes1.Length; j++)
                    byteChar1[j] = Convert.ToChar(charBytes1[j]);//byte[]->char[]
    
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    python字符串连接方式(转)
    Python顺序与range和random
    将EXCEL中的列拼接成SQL insert插入语句
    Python OS模块
    Python3.5连接Mysql
    Mysql查看连接端口及版本
    Mysqldb连接Mysql数据库(转)
    Python 文件I/O (转)
    Python 日期和时间(转)
    Python序列的方法(转)
  • 原文地址:https://www.cnblogs.com/huage-1234/p/8125374.html
Copyright © 2020-2023  润新知