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, , );//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();
}
}
}
C#中的流_字节_字符_字符串之间的相互转换的更多相关文章
- 字节与字符_字节流与字符流_ASCII与Unicode_GB2312_GBK_GB18030_BIG-5
字节(Byte):通常将可表示经常使用英文字符8位二进制称为一字节. 一个英文字母(不分大写和小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. ...
- C#中流,字节,字符,字符串
首先要明白它们本身是由什么组成的: 流:二进制 字节:无符号整数 字符:Unicode编码字符 字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢? 一般是遵守以下规则: 流-&g ...
- C语言之“字符”与“字符串”之间的区别解析
在C语言中,“字符”与“字符串”之间,是有区别的.这一篇文章中,我们将介绍一下,在C语言中的“字符”与“字符串”,它们之间的区别. 首先,一个很明显的区别是: “字符”,使用单引号作为定界符,而“字符 ...
- JS中实现JSON对象和JSON字符串之间的相互转换
对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...
- java中IO流之字节字符流的总结概述
概念 这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图: Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...
- NSString Byte NSData 字节(字符)字符串
NSUTF8StringEncoding 3个字节(字符)一个中文字符 一个字节一个英文字符
- Java字节、十进制、十六进制、字符串之间的相互转换
1. 字节转10进制 直接使用(int)类型转换. /* * 字节转10进制 */ public static int byte2Int(byte b){ int r = (int) b; retur ...
- 从给定字符串中截取n个字节的字符(解决汉字截取乱码问题)
function GetNBytesChar(s: Ansistring; n: Integer): string;var aStr: AnsiString; bStr: WideString;b ...
- carryLess小笔记001_Java中16进制与字符串之间的相互转换
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...
随机推荐
- 【技术累积】【点】【sql】【17】了解索引
先上结论 数据库数据以平衡树进行聚合索引--主键的作用: 数据每行都存在叶子节点: 单独字段的索引,单独存在,且将该字段值取出: 单独字段的索引,查到对应的主键id,再通过聚合索引查到数据: 多字段索 ...
- EF MySql:Specified key was too long; max key length is 767 bytes解决方案
[DbConfigurationType(typeof(MySqlEFConfiguration))]//添加特性 public partial class Model1 : DbContext { ...
- 【转载】InputStreamReader和OutputStreamWriter 的区别和用法
一.InputStreamReader 用于将一个字节流中的字节解码成字符 , 用法如下: @Test public void Test19() throws Exception { InputStr ...
- MAC下redis的安装和配置
1.下载 打开官网:https://redis.io/ 选择下载你要的版本压缩包 2.安装 打开终端,cd - 将下载的压缩包拷贝到local目录下:sudo cp Downloads/redis-4 ...
- 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm
前言:之前在网上找的好多都是基于vue-cli 2.x的,而使用vue-cli 3的文章比较少,Vue CLI 3 中文文档,所以我在自己尝试的时候把几篇文章结合了一下,调出来了我想要的模式,也就是V ...
- 图像滑动窗口 利用opencv和matlab
1.利用opencv实现图像滑动窗口操作 功能:利用opencv实现图像滑动窗口操作(即利用已知尺寸的窗口遍历整幅图像,形成许多子图像) vs2015+opencv3.1 2016.10 函数实现 ...
- c++0x11新特性:delete删除函数
c_plus_plus_0x11.cpp: // c_plus_plus_0x11.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #inc ...
- FZU - 1601 - Alibaba's treasures
先上题目: Problem 1601 Alibaba's treasures Accept: 332 Submit: 636Time Limit: 1000 mSec Memory Lim ...
- 0929关于MySQL操作规范(总结)
用户权限管理 创建用户 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: Username所创建的用户名 host 指定该用 ...
- 0316 【案例】MySQL count操作优化案例一则
转自http://blog.itpub.net/22664653/viewspace-1791124/ 一 背景 某业务的数据库定期报 thread_runing 飙高,通定位发现一个慢查询sql ...