【问题标题】:How to convert from decimal to unicode char and vice versa如何从十进制转换为Unicode字符,反之亦然
【发布时间】:2019-06-04 08:39:42
【问题描述】:

我想知道如何将十进制值转换为 Unicode,然后将 Unicode 转换回十进制,因为我对密码学很感兴趣。

这是一个例子: unicode($) -> 十进制(36)

谢谢

【问题讨论】:

  • 该功能在 System.Text.Encoding 类及其后代中实现:docs.microsoft.com/en-us/dotnet/api/…
  • 听起来要么我没有理解你的问题,要么你有一个根本的误解——特别是考虑到这个问题是你之前的问题的释义版本,已经回答了。基本上,Unicode 字符和十进制值在值的内部位表示中没有区别。无非就是你如何显示它。如果将其视为 int,则将其显示为 int。如果将其视为字符,则将其显示为字符。在开始进行密码学之前,您需要大量增加这方面的知识。
  • 我不是编码天才,是的,我明白这一点,但我正在尝试要求更改其显示方式的代码,抱歉造成混淆。
  • 好的,那么问同样问题的your previous question 的答案有什么问题?

标签: c# unicode


【解决方案1】:

十进制可以转换为字符并返回:

decimal d = 0x2c6f;
char c = (char)d; //it is an upside down A, viz: Ɐ


char cc = '$'; 
decimal dd = (decimal)cc; //dd is now: 36

【讨论】:

  • 我怀疑通过使用术语“十进制”,OP 表示 char 的十进制表示(即视为整数值并以基数 10 显示)而不是称为特定 C# 数据类型“十进制”。您在这里所做的类型转换,通过将 char 转换为十进制,涉及位模式的重大变化。
猜你喜欢
  • 1970-01-01
  • 2018-09-22
  • 2011-03-23
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 2012-08-21
  • 2012-09-18
  • 2010-09-23
相关资源
最近更新 更多