1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6.  
  7. namespace _字节_字符_字符串
  8. {
  9. class Program
  10. {
  11. #region 简单介绍
  12. //流:二进制
  13.  
  14. //字节:无符号整数
  15.  
  16. //字符:Unicode编码字符
  17.  
  18. //字符串:多个Unicode编码字符
  19. #endregion
  20. static void Main(string[] args)
  21. {
  22. //byte a = 99;
  23. //byte b = 199;
  24. //byte c =(byte) (a + b);//这边溢出等于42
  25. //Console.WriteLine(c);
  26.  
  27. string str = "huage1234";
  28.  
  29. using (MemoryStream m_stream = new MemoryStream())
  30. {
  31. Console.WriteLine(string.Format("初始字符串:{0}", str));
  32. if (m_stream.CanWrite)//如果可写入
  33. {
  34. byte[] strBytes = Encoding.Default.GetBytes(str);//string->byte[]
  35. //从数组中的第一个位置开始写入,长度为3,写完之后stream里面有数据
  36. m_stream.Write(strBytes, , );//byte[]->stream
  37. Console.WriteLine("现在Stream.Postion在第{0}位置", m_stream.Position + );
  38. }
  39. byte[] resBytes = new byte[m_stream.Length];
  40. m_stream.Position = ;//这边要设置一下stream的起始位置,不然读取的时候从不是起始位置读取到不全的数据
  41. var count = m_stream.Read(resBytes, , (int)resBytes.Length);//stream->byte[]
  42. var resStr = Encoding.Default.GetString(resBytes);//byte[]->字符串
  43. Console.WriteLine(resStr);
  44. }
  45.  
  46. char[] charArr = str.ToCharArray();//string->char[]
  47. string res = new string(charArr);//char[]->string
  48.  
  49. string charStr = "";
  50. foreach (var a in charArr) //char[]->string
  51. charStr += a;
  52.  
  53. byte[] charBytes = Encoding.Default.GetBytes(charArr);//char[]->byte[]
  54. char[] byteChar = Encoding.Default.GetChars(charBytes);//byte[]->char[]
  55.  
  56. byte[] charBytes1 = new byte[charArr.Length];
  57. char[] byteChar1 = new char[charBytes1.Length];
  58.  
  59. for (var i = ; i < charArr.Length; i++)
  60. charBytes1[i] = Convert.ToByte(charArr[i]);//char[]->byte[]
  61.  
  62. for (var j = ; j < charBytes1.Length; j++)
  63. byteChar1[j] = Convert.ToChar(charBytes1[j]);//byte[]->char[]
  64.  
  65. Console.ReadKey();
  66. }
  67. }
  68. }

C#中的流_字节_字符_字符串之间的相互转换的更多相关文章

  1. 字节与字符_字节流与字符流_ASCII与Unicode_GB2312_GBK_GB18030_BIG-5

    字节(Byte):通常将可表示经常使用英文字符8位二进制称为一字节. 一个英文字母(不分大写和小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. ...

  2. C#中流,字节,字符,字符串

    首先要明白它们本身是由什么组成的: 流:二进制 字节:无符号整数 字符:Unicode编码字符 字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢? 一般是遵守以下规则: 流-&g ...

  3. C语言之“字符”与“字符串”之间的区别解析

    在C语言中,“字符”与“字符串”之间,是有区别的.这一篇文章中,我们将介绍一下,在C语言中的“字符”与“字符串”,它们之间的区别. 首先,一个很明显的区别是: “字符”,使用单引号作为定界符,而“字符 ...

  4. JS中实现JSON对象和JSON字符串之间的相互转换

    对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...

  5. java中IO流之字节字符流的总结概述

    概念        这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图: Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...

  6. NSString Byte NSData 字节(字符)字符串

    NSUTF8StringEncoding 3个字节(字符)一个中文字符 一个字节一个英文字符

  7. Java字节、十进制、十六进制、字符串之间的相互转换

    1. 字节转10进制 直接使用(int)类型转换. /* * 字节转10进制 */ public static int byte2Int(byte b){ int r = (int) b; retur ...

  8. 从给定字符串中截取n个字节的字符(解决汉字截取乱码问题)

    function GetNBytesChar(s: Ansistring; n: Integer): string;var  aStr: AnsiString;  bStr: WideString;b ...

  9. carryLess小笔记001_Java中16进制与字符串之间的相互转换

    笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...

随机推荐

  1. C++程序设计实验安排

    2016-2017第二学期C++程序设计的实验时间与地点安排如下表,请大家根据时间按时来上机实验.另外,因为原来安排在4.1的实验因为调休补周一的课,因此挪至周五.另外第4次周六的课,考虑有一些同学有 ...

  2. C#—接口和抽象类的区别?

    一.接口 接口是指对协定进行定义的引用类型,其他类型实现接口,以保证它们支持某些操作.接口指定必须由类提供的成员或实现它的其他接口.与类相似,接口可以包含方法.属性.索引器和事件作为成员. 1.接口存 ...

  3. cocos ios Label组件问题

    软件:cocos creator v1.9.0 开发的过程中,一直在web上预览,Label组件显示一直没问题.在打包到ios上时,出现问题了: Label组件: 当我们缩小字体,发现没问题了,当我们 ...

  4. 【剑指Offer】 24、二叉树中和为某一值的路径

      题目描述:   输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中, ...

  5. Linux基础:find命令总结

    本文只总结一些常用的用法,更详细的说明见man find和 info find. find命令 find命令常用来查找文件或目录,可以根据给定的路径和表达式查找所需的文件或目录.该工具是由findut ...

  6. 【JavaScript】不使用正则表达式和字符串的方式来解析浏览器的URl地址信息

    1.比如我们要获取的网站URl地址是:https://music.163.com/#/playlist?id=2384581760 一般我们能够想到的方式是直接使用正则表达式获取使用字符串直接解析的方 ...

  7. react-native页面间传递数据的几种方式

    1. 利用react-native 事件DeviceEventEmitter 监听广播 应用场景: - 表单提交页面, A页面跳转到B页面选人, 然后返回A页面, 需要将B页面选择的数据传回A页面. ...

  8. qtp12版本下载安装破解教程

    下载链接:https://download.csdn.net/download/weixin_41479750/11240466 下面是安装教程: 解压完成之后,双击运行setup.exe 之后点击运 ...

  9. Windows 安装react native

    1.下载node.js (https://nodejs.org/en/) 2.安装node.js,安装完成后按住 图标键+R ,输入CMD进入命令行终端,输入npm -v C:\Users\Admin ...

  10. (9)使用JdbcTemplate【从零开始学Spring Boot】

    整体步骤: (1)   在pom.xml加入jdbcTemplate的依赖: (2)   编写DemoDao类,声明为:@Repository,引入JdbcTemplate (3)   编写DemoS ...