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进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...
随机推荐
- AI:狄拉克之海上的涟漪
延陵季子2011年 8月27日 19:02 借鉴英文原文:Ripples in the Dirac Sea 当他试着用一种轻松的口吻诉说一些事情时,我会明白,其实我们都明白,在他的心里绝对不是平 ...
- dispatch_sync:As an optimization, this function invokes the block on the current thread when possible
两件事情: 1.是否是一个线程: 2.queue task 的目标线程是否有未完成的task. 模型:一个线程处理当前的task还有通过gc d派发来的待执行task. 猜测: 如果目标thread上 ...
- struct-计算机学习日志
STRUCT实验目的模拟缓冲区溢出的情况.代码总览#include <stdio.h>#include <stdlib.h>typedef struct { int a[2]; ...
- BZOJ 1724: [Usaco2006 Nov]Fence Repair 切割木板 贪心 + 堆 + 反向思考
Description Farmer John想修理牧场栅栏的某些小段.为此,他需要N(1<=N<=20,000)块特定长度的木板,第i块木板的长度为Li(1<=Li<=50, ...
- [Ynoi2016]镜中的昆虫
题目大意: 给定一个序列,有2个操作: 1. 区间覆盖.2. 区间数颜色. 解题思路: 珂朵莉树+树套树. 看到区间覆盖当然想到珂朵莉树然而这是Ynoi 所以我们得优化掉珂朵莉树那个暴力过程. 考虑对 ...
- 【Codeforces Round #519 by Botan Investments A】 Elections
[链接] 我是链接,点我呀:) [题意] [题解] 枚举k 那么另外一个人的得票就是nk-sum(ai) 找到最小的满足nk-sum(ai)>sum(ai)的k就ok了 [代码] #includ ...
- spring boot @Transactional事物处理
spring boot 添加事物使用 @Transactional注解 简单使用 在启动类上方添加 @EnableTransactionManagement注解 使用时直接在类或者方法上使用 @Tra ...
- 使用ZooKeeper实现配置同步(转)
前言 应用项目中都会有一些配置信息,这些配置信息数据量少,一般会保存到内存.文件或者数据库,有时候需要动态更新.当需要在多个应用服务器中修改这些配置文件时,需要做到快速.简单.不停止应用服务器的方式修 ...
- SPOJ 1811LCS Longest Common Substring
后缀自己主动机裸题.... Longest Common Substring Time Limit: 2000MS Memory Limit: Unknown 64bit IO Format: ...
- Codeforces Round #377 (Div. 2) D. Exams
Codeforces Round #377 (Div. 2) D. Exams 题意:给你n个考试科目编号1~n以及他们所需要的复习时间ai;(复习时间不一定要连续的,可以分开,只要复习够ai天 ...