C#中的流_字节_字符_字符串之间的相互转换
2024-10-01 07:22:12
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, , );//byte[]->stream
Console.WriteLine("现在Stream.Postion在第{0}位置", m_stream.Position + );
}
byte[] resBytes = new byte[m_stream.Length];
m_stream.Position = ;//这边要设置一下stream的起始位置,不然读取的时候从不是起始位置读取到不全的数据
var count = m_stream.Read(resBytes, , (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 = ; i < charArr.Length; i++)
charBytes1[i] = Convert.ToByte(charArr[i]);//char[]->byte[] for (var j = ; j < charBytes1.Length; j++)
byteChar1[j] = Convert.ToChar(charBytes1[j]);//byte[]->char[] Console.ReadKey();
}
}
}
最新文章
- 解析 Linux 内核可装载模块的版本检查机制
- Ext JS
- 人人都是 DBA(II)SQL Server 元数据
- roundup配置
- Lua metatable &; metamethod
- wget进行整站下载
- 【vijos1066】弱弱的战壕 线段树
- CentOS6.5解决中文乱码与设置字符集
- 设置windows窗口半透明(使用SetLayeredWindowAttributes API函数)
- 上传下载文件, 同时部署在webapps下, 而不是项目下,防止重新部署tomcat, 上传文件消失
- 我的Spring学习记录(一)
- MYSQL 主从复制---简单易学
- spring-boot-oracle spring-batch
- 《PyQt5快速开发与实战了》正式发售 !!!
- mount --bind使用方法
- CI框架 -- 密码哈希
- 《SQL Server 2008从入门到精通》--20180704
- 弗格森&;红魔
- 「日常训练」More Cowbell(Codeforces Round #334 Div.2 B)
- 从浏览器输入URL回车发生了什么
热门文章
- 【sqli-labs】 less40 GET -Blind based -String -Stacked(GET型基于盲注的堆叠查询字符型注入)
- Eclipse 插件ibeetl
- java操作Excel的poi 设置单元格的对其方式
- TCP/IP数据包结构详解
- css 陌生属性
- 当样式中存在!important时无法使用show()或hide() 2017-06-11 22:25 15人阅读 评论(0) 收藏
- 输入输出流String间的转换
- lunix下的redis数据库操作——list列表
- PHP tools for Visual Studio 2013 安装、破解、配置教程
- 11gR2 集群(CRS/GRID)新功能—— SCAN(Single Client Access Name)