如何将char转换为byte?

时间:2012-10-30 09:16:55

标签: char type-conversion byte

我有一个简单的问题。 我们知道Char占用两个字节(16位),而Byte占用一个字节(8位)。 但在许多编程语言中,有一个函数可以将Char转换为Byte。如何在不丢失任何内容的情况下将Char转换为Byte

2 个答案:

答案 0 :(得分:3)

在C#中,java char是一个16位的Unicode字符。在其他(较旧的?)语言(C,C ++等)中,char是ASCII字符的8位表示。在这些语言中,转换类型而不丢失任何东西是有意义的。

在C#中,您可以将char转换为byte的两倍,或者假设(确定)您尝试转换的char为8位{ {1}} s(查看ASCII表)写成Unicode char s。

答案 1 :(得分:1)

这是不可能的。我不认为有任何语言附带这样的功能。例如,Java有String.getBytes,C#有Encoding.GetBytes,他们获得的是byte,而不是byte。这种转换就像在C中从short[]转换为char[]一样,非常简单,没有操作,只是转换,整个对象的大小(字节总数)保持不变;什么都不会丢失。