【问题标题】:what is difference in char in C vs C# or JAVA [duplicate]C与C#或JAVA中的char有什么区别[重复]
【发布时间】:2014-02-27 12:45:08
【问题描述】:

我在学习 JAVA 时偶然发现了这一点 我注意到 char 需要 16 bit ,而我记得在 C 中需要 8 。 有人可以解释为什么他们不相似吗?

【问题讨论】:

  • A char 在 C 中不一定是 8 位宽。该类型的大小取决于实现。
  • 您是否有理由不能简单地阅读manual?编辑:自从您提到 Java 以来,将您的标签更改为 Java。如果 C# 是正确的,请将其改回并包含和解释。
  • @FrédéricHamidi 在一个字节有 8 位的所有平台上都是 8 位。所以它从来没有用来表示多字节字符,我认为这就是重点。
  • 你在学习“JAVA”时偶然发现了这个问题,那么为什么你的问题也读到“C#”和标签?
  • @Abhineet 你是对的,我从来没有在 C# 中注意到它,直到我在 JAVE 中看到它:D

标签: c# java c char


【解决方案1】:

C# 字符是 Unicode,即 16 位,而 C 只使用 ASCII,实际上只有 7 位。

【讨论】:

  • 所以,你是说 C 中没有 UNICODE 字符的实现???
  • 准确地说,C# 和 Java 使用 UTF16 来定义 char
  • @Abhineet - C 比 Unicode 早了大约 30 年。编写 C 时,他们仍在尝试决定是使用 ASCII 还是 USASCII 还是 EBCDIC 还是 FieldData 还是 Baudot。
  • @HotLicks:: 但我还是要说“C 只使用 ASCII”是错误的。
  • 如果你需要 Unicode,有库支持,但不是原生的:cprogramming.com/tutorial/unicode.html
猜你喜欢
  • 2014-03-21
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
  • 2013-05-16
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多