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. Haar、pico、npd、dlib等多种人脸检测特征及算法结果比较

    原文:opencv.pico.npd.dlib.face++等多种人脸检测算法结果比较 NDP检测结果: 结果分析: Pico(Pixel Intensity Comparison-based Obj ...

  2. Overview of Polymorphism -多态的分类

    多态有类型系统衍生. 有限类型.无限类型.确定类型. Classifications Christopher Strachey (1967) introduced the concept of pol ...

  3. android studio: 为现有项目添加C++支持

    刚开始创建项目的时候并没有勾选“include C++ support” 选项: 后期增加步骤: 1.拷贝已有支持C++项目的CMakeLists.txt文件到现有项目的app目录下: 2.在app/ ...

  4. CF319E Ping-Pong 线段树 + vector + 思维

    Code: #include<bits/stdc++.h> #define N 3000009 #define maxn 3000009 #define ll long long #def ...

  5. 360 基于 Prometheus的在线服务监控实践

    转自:https://mp.weixin.qq.com/s/lcjZzjptxrUBN1999k_rXw 主题简介: Prometheus基础介绍 Prometheus打点及查询技巧 Promethe ...

  6. Nginx设置alias别名目录访问phpmyadmin

    引言:Nginx服务器通过设置alias别名可以使特定的目录(phpmyadmin目录)不出现在网站根目录下面,即使网站根目录被攻破,也不会影响到phpmyadmin目录里面的文件. 说明: 站点:h ...

  7. raize5的修改。

    ( ( ; Col1: $; Col2: $; Col3: $; Col4: $ ), ( ; Col1: $; Col2: $FA; Col3: $; Col4: $ ), ( ; Col1: $C ...

  8. 使用idea搭建maven项目时 java目录下的xml文件没有加载的解决方法

    今天在idea集成开发环境下 使用maven搭建了ssm项目,遇到了3个问题 首先我们先复习一下知识点: 第一步:在web.xml中配置spring监听器 <!-- spring监听器 加载sp ...

  9. [bzoj1614][Usaco2007Jan]Telephone Lines 架设电话线_二分答案_最短路

    Telephone Lines bzoj-1614 Usaco-2007Jan 题目大意:给你一个n个点m条边的带边权无向图,求最短路.可以选取k条边免费. 注释:$1\le n\le 10^3$,$ ...

  10. 洛谷 P1649 [USACO07OCT]障碍路线Obstacle Course

    P1649 [USACO07OCT]障碍路线Obstacle Course 题目描述 Consider an N x N (1 <= N <= 100) square field comp ...