当前位置: 首页 > news >正文

C#实现ASCII和字符串相互转换的代码示例

知识点

string

1

Stirng.Empty

  • 表示空字符串。 此字段为只读。此字段的值为零长度字符串“”。
  • string为引用数据类型。会在内存的栈和堆上分配存储空间。因此string.Empty与“”都会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间,这个空间保存的是string.Empty的实际值。
  • 区别于null,null 只在栈上分配了空间,在堆上没有分配

out

可以在两个上下文中使用 out 关键字:

  • 作为 参数修饰符,通过引用而不是值将参数传递给方法。
  • 在接口和委托的 泛型类型参数声明中 ,该声明指定类型参数是协变的。
  • 当方法需要返回多个值时,关键字 out 特别有用,因为可以使用多个 out 参数。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

publicvoidMain()

{

doubleradiusValue = 3.92781;

//Calculate the circumference and area of a circle, returning the results to Main().

CalculateCircumferenceAndArea(radiusValue,outdoublecircumferenceResult,outvar areaResult);

System.Console.WriteLine($"Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.");

System.Console.WriteLine($"Area of a circle with a radius of {radiusValue} is {areaResult}.");

Console.ReadLine();

}

//The calculation worker method.

publicstaticvoidCalculateCircumferenceAndArea(doubleradius,outdoublecircumference,outdoublearea)

{

circumference = 2 * Math.PI * radius;

area = Math.PI * (radius * radius);

}

Encoding

将字符串从一种编码转换为另一种编码,
编码(Encoding):将 Unicode 字符转换为字节序列的过程。
解码(Decoding):将字节序列转换回 Unicode 字符的过程。

方法
  • GetEncoding。返回指定代码页的编码。属于编码过程

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

//返回与指定代码页名称关联的编码。

//Encoding.GetEncoding(String)

usingSystem;

usingSystem.Text;

publicclassSamplesEncoding {

publicstaticvoidMain() {

// Get a UTF-32 encoding by codepage.

Encoding e1 = Encoding.GetEncoding( 12000 );

// Get a UTF-32 encoding by name.

Encoding e2 = Encoding.GetEncoding("utf-32");

// Check their equality.

Console.WriteLine("e1 equals e2? {0}", e1.Equals( e2 ) );

}

}

/*

This code produces the following output.

e1 equals e2? True

*/

编码表

常用编码格式:

  • GetBytes
    在派生类中重写时,将一组字符编码为一个字节序列。属于解码过程

1

2

//GetBytes(Char[])

//在派生类中重写时,将指定字符数组中的所有字符编码为一个字节序列。

字符串转换为数组

字符串可以理解为在字符数组。所以对手winform控件textbox的text值,也可以作为字符数组,

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

if(textBox1.Text!="")

{

stringchars_StrA ="hello";

stringchars_StrB=string.Empty;

char[] txtChars01 =newchar[10];

char[] txtChars02 =newchar[10];

for(inti=0;i<textBox1.Text.Length;i++)

{

txtChars01[i] =textBox1.Text[i];

}

for(intj= 0; j< chars_StrA.Length; j++)

{

txtChars02[j] = chars_StrA[j];

chars_StrB += txtChars02[j];

}

}

代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

privatevoidbtn_ToASCII_Click(objectsender, EventArgs e)

{

if(txt_char.Text!=string.Empty)

{

if(Encoding.GetEncoding("unicode").GetBytes(newchar[] { txt_char.Text[0] })[1]==0)

{

txt_ASCII.Text = Encoding.GetEncoding("unicode").GetBytes(txt_char.Text)[0].ToString();

}

else

{

txt_ASCII.Text =string.Empty;

MessageBox.Show("请输入字母!","提示!");

}

}

}

privatevoidbtn_ToChar_Click(objectsender, EventArgs e)

{

if(txt_ASCII2.Text!=string.Empty)

{

intP_int_Num;//定义整型局部变量

if(int.TryParse(txt_ASCII2.Text,outP_int_Num))

{

txt_Char2.Text = ((char)P_int_Num).ToString();

}

else

{

MessageBox.Show("请输入正确ASCII码值","错误");

}

}

}

复制讲解

到此这篇关于C#实现ASCII和字符串相互转换的代码示例的文章就介绍到这了


http://www.jsqmd.com/news/875728/

相关文章:

  • 别再乱改系统时间了!Linux服务器时间漂移的终极排查与修复指南(hwclock实战)
  • 基于大数据与机器学习的金融风险监控系统架构与实战
  • 机器学习加速高精度CFD:基于分区POD与加权RBF的翼型流场快速预测
  • 量子高斯过程在电网参数辨识中的应用:NISQ时代的工程实践
  • Cortex-R82 AXI接口256位事务机制与优化
  • 语义网与知识图谱:从RDF三元组到LLM融合的技术演进与应用实战
  • SPACIER系统:贝叶斯优化与分子动力学融合的聚合物智能设计
  • 线性最优传输(LOT)在点云数据处理中的应用:从理论到实践
  • VMware里CentOS磁盘挂了别急着重装!记一次xfs文件系统修复实战,省下半天配置时间
  • 量子计算与生成式AI融合:自动化电路生成技术解析
  • 告别混乱:如何在不同Linux发行版(openEuler/Ubuntu)和Windows上彻底卸载AWS CLI v2
  • 几何量子机器学习:利用对称性原理破解贫瘠高原与设计高效算法
  • 天文机器学习项目实践指南:从问题定义到科学成果的可靠路径
  • 内存访问向量技术如何提升CPU性能模拟精度
  • 基于低秩分解与DLinear的流体动力学数据高效预测模型
  • 速腾RS-M1雷达点云初体验:Windows 11下用RSView 3.2.7从接线到显示的保姆级避坑指南
  • Wireshark解密HTTPS流量:TLS密钥导出与解密实战指南
  • Win10更新后网卡驱动感叹号?先别重置网络!检查这两个服务项(WLAN AutoConfig/蓝牙支持)
  • kNN×KDE算法:为缺失数据插补提供概率分布,提升天文数据分析可靠性
  • 芯片设计中Liberty模型555ns值的由来与应用
  • 可解释多模态机器学习在碳纳米管纤维性能优化与机理研究中的应用
  • IEMOCAP数据集预处理实战:用Python和Librosa搞定语音情感识别的数据准备
  • 2026年4月有名的光伏电站运维口碑推荐,光伏电站投资/储能电站安装/光伏电站运维/重卡充电桩安装,光伏电站运维推荐 - 品牌推荐师
  • IoT系统性能优化:PCA降维与智能负载均衡实战解析
  • SELA框架:融合MCTS与LLM的智能AutoML新范式
  • 高阶信息度量:总相关性与O信息在特征工程与数据压缩中的应用
  • CentOS 7下glibc升级到2.28的保姆级避坑指南(含GCC 7.3.1编译配置)
  • 条件期望与奇异值分解:概率论与矩阵分析中的最优逼近原理
  • 增长曲线模型缺失数据处理:传统统计方法为何优于机器学习插补?