char中是否可以储存汉字?

下面是一道面试题。

但是本人不是很理解,而且无法写出代码,
有人解释下并给出程序吗,立马给C币

22、char 型变量中能不能存贮一个中文汉字,为什么?
答:char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),所以放一个中文是没问题的。
如何将基本数据类型转换为字符串?

13个回答

可以的,char可容纳单个字符的一种基本数据类型

Integer I1=new Integer(i1);//生成Integer类
//分别调用包装类的toString() 方法转换为字符串
String si1=I1.toString();
此时si1就是为string字符串了

char是按照字符存储的,不管英文还是中文,固定占用占用2个字节,用来储存Unicode字符。范围在0-65536。
unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有
被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。

char[] c = {'好','你'};

// print Unicode value
for(int i = 0 ;i< c.length;i++)
System.out.println(Character.codePointAt(c,i));

一个汉字两个字节,Char类型一个字节,不能存储吧

在Java中char是占两个字节的,是可以的。基本数据类型转换为字符串也是很简单的。比如:String str = 1 + "" ,这样就变成了字符串了

可以,只不过要用两个要用两个char类型的空间储存,例如一个好字,用char[0]和char[1]来储存,输出时也要两个%c

Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),一个汉字也是占两个字节的,所以放一个中文是没问题的。

char 在Java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。所以可以的

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java的char类型可以储存汉字吗
java的char类型是用来储存Unicode编码字符的,Unicode字符集包含了汉字,所以char类型可以储存汉字,但在一些生僻字是不可以储存的。
char为什么能储存汉字
一个汉字不是占两个字节吗,但是char的长度却只有一个字节
char类型变量中是否可以存储一个中文汉字
在Java语言中,默认使用的Unicode编码方式,即每个字符占两个字节,因此可以用来存储中文。虽然String是由char所组成的,但是它采用了一种更加灵活的方式来存储,即英文占用一个字符,中文占用两个字符,采用这种存储方式的一个重要作用就是可以减少所需的存储空间,提高存储效率。 public class Test { public static void getLen(String s...
java中char可以存储汉字吗?
bit(位) byte(字节) 1byte=8bit 一个中文汉字占2byte(字节)的空间 java中char类型内存为2字节(byte)可以存储一个汉字 java中规定一个字符(不管是数字,字母,汉字)都占两个字节(byte)
java中的char可以存储汉字吗?
在 Java 语言中一个 char 类型的变量占 16 位(即两个字节)的存储空间,由于 Java语言使用 Unicode 字符集对字符进行编码,因此 char 类型的变量可以存储任何字符,这些字符可以是英文字母、汉字、日文片段以及其他许多国家的字符。 测试结果如下:
数组是否可以存储汉字
[code=c]#include "stdio.h"rnmain()rn int num;rn char remain;rn char a[]="星期日","星期一","星期二","星期三","星期四","星期五","星期六";rn scanf("%d",&num);rn switch(num%7)rn rn case 0: remain=a[0];break;rn case 1: remain=a[1];break;rn case 2: remain=a[2];break;rn case 3: remain=a[3];break;rn case 4: remain=a[4];break;rn case 5: remain=a[5];break;rn case 6: remain=a[6];break;rn rn printf("%s\n",remain);rn[/code]rn数组中能否存储汉字?rn不明白本程序的错误。
char型变量中能不能储存一个汉字
public static void main(String[] args) { char[] ch1 = {'a','c'}; char c1 = '中'; String s = t1.addStr(); System.out.println(s); }编译通过,因为一个char型变量占用2个字节,而一个中文也是两个字节。...
在java默认的编码方式下,char[4] 能储存几个汉字?
在java默认的编码方式下,char[4] 能储存几个汉字? 说出原因?
为什么使用char汉字可以正常显示?
大家好,以下是我的代码:rnrn[code=C/C++]rn#include rnrnint main(void)rnrn printf("如果需要退出,请同时按Ctrl + C...\n\n");rn char ch = '你';rn printf("ch = %c\n\n", ch);rn //int ch;rnrn //使用键盘输入一个字符后将在屏幕中输出这个输入的字符;rn while ((ch = getchar()) != EOF) rn rn putchar(ch);rn rnrn return (0);rnrn[/code]rnrn在我的计算机上的输出结果为:rnch = ?rn大家好rn大家好rnrn-------------------------------------------------------------rn前面将一个【汉字】赋值给了一个char类型,由于汉字使用2个字节,而char类型仅仅一个字节,所以信息被截断是正常的。rn但是后面同样是输入了汉字,为什么却可以正常显示了呢?rn望高人指点一二。rn谢谢啦:)
说说char型为什么可以存汉字?
面试遇的问题,想了好久,不知道怎么回答~
char变量可以保存一个汉字么?
RT
Dreamweaver 8 是否有可以储存变量名
能否把变量名储存起来,和标签一样,在打字的时候按字母顺序自动提示变量列表,这样在设计的时候不会因为偶尔写错造成调试的麻烦
char可以存储汉字吗?| Java基础
在Java中一共有8种基本类型,其中有4种整型、2中浮点类型、一种用于表示Unicode的字符单元的字符类型char和一种用于表示真值的boolean类型。 int : 占4字节,取值范围:-214
是否可以CStringArray转换char二维数组的方法?
[code=C/C++]CStdioFile myff; rnCString strTemp; rnrnmyff.Open(_T("file.txt"),CFile::modeRead);rnrnlong linecount = 0; rnwhile(myff.ReadString(strTemp))rn linecount++; /*得到文件行数*/rnrnmyff.Seek(0,CFile::begin); /*回到第一行*/rnrn//创建数组rnCStringArray strLeft;rnCStringArray strRight;rn//CStringArray allStr;rnCString tempStr;rnrn//执行读入CString数组操作rnint nPos = 0 ;rnfor(int i=1;i<=linecount;i++) rnrn myff.ReadString(strTemp); /*读入一整行公式*/rn nPos = strTemp.Find("="); /*得到公式的=号*/rn strLeft.Add(strTemp.Left(nPos)); /*读入公式的左边*/rn rn strTemp.Delete(0,nPos+1); /*切除左边,包括=*/ rn strRight.Add(strTemp); /*读入剩下的,就是公式右边了*/rn rn cout << "已经读了" << i << "行公式了!" << "\n";rnrn[/code]rnrnrnrn先前在前几页问过这个相关问题,一开始原来悲剧地原始逻辑搞错了,其实原来的打算很简单,现在重新问这个问题rn就是:rnstrLeft.GetAt(i)的内容,相关性地生成对应的char,rn我知道高招一些的做法用一维数组定位长也能解决,但我还是想逐个“明显地”,方便低手的我在后面继续再折腾。。。rnrn也不知道二维数组是否一个好办法。。。。求助了,rnrn现在有了公式左右两边内容的CStringArrayrn想:rn(伪代码)rnstrLeft.Get(0) = char[0][内容];rnstrLeft.Get(1) = char[1][char内容]rnstrLeft.Get(2) = char[2][char内容]rnstrLeft.Get(3) = char[3][char内容]rn
字符串中是否有汉字
def has_hz(contents): import re Pattern = re.compile(u'[\u4e00-\u9fa5]+') match = Pattern.search(contents) if match: return True else: return False
string中是否有汉字
[size=medium][color=indigo]利用string的getBytes()方法 得到数组的length 可以和string的length()方法做比较,如果string中不含有中文汉字,两个值是相等的。[/color][/size]...
char [] 和char *可以转换吗?
char ss7Temp[3]=0;rnchar ss7Temp1[3]=0;rnrnifstream inf;rninf.open("20080201100830.dat");  //二进制文件,文件第一字节为aarninf.read((char*)&ss7Temp,1);rnsprintf(ss7Temp1,"%02x ", (*((char*)&ss7Temp))&0xff); rnrnRichEdit1->Lines->Add(ss7Temp1); //RichEdit1显示为aarnrnint ret=strcmp(ss7Temp1,"aa");rnif(ret==0)rn RichEdit1->Lines->Add("right");rnelsern RichEdit1->Lines->Add(ret); //RichEdit1显示为32rnrn运行以后RichEdit1的结果为:rnaarn32rn如何可以让strcmp(ss7Temp1,"aa");相等?
byte char string 二进制 汉字
char c = '\u534e';System.out.println(c);//华rnint i = 0x534e;System.out.println((char)i); //21326rn也就是说在unicode编码中是用21326来表示汉字"华"的。rn十六进制的0x534e和十进制的21326用二进制表示为"01010011 01001110"rn由于我想unicode编码一个字符占两个字节rn是不是第一个字节的底层二进制表示为"01010011",第二个字节的底层二进制表示为"01001110"rnrn然而rnString s = "华";rnbyte[] bytes = s.getBytes();rn得到的这两个字节变成二进制后发现和上面的不一样了。rnrn不知道是哪个环节理解的偏差?
恼人的问题,unicode 汉字 char*
socket的API函数send只能发char *型的字符串,我将WCHAR型 的汉字用widecharTomultibyte()转换后乱码,请问有没有好的办法?
C#获取带有汉字的char[]
前言:要实现一个功能,c#调用c++生成的dll里的函数,需要传入路径,但路径包含汉字。 先废话一下,记录点知识。 char[] 转 string char[] ch = {'a', 'b', 'c', 'd'}; string str = new string(ch); string 转 char[] string str = "abcd"; char[] ch = str
例如:char a = -128 在计算机中怎样储存?
例如:char a = -128 在计算机中怎样储存?
给char指针初始化的常量储存在哪?
若我在在程序中有这样一句话,rn[code=C/C++]rn char * chStr = "abcdefg" ;rn[/code]rn请问一下,"abcdefg"常量储存在哪?
请教一下,char类型的储存长度?
char为字符型,存储一个字符型。rn最近看到一些代码,代码如下:rnvar rn Buffer:Array[1..2048]of char;rn skVideoResponse :Char=#25; rnrnrn Buffer[1]:=skVideoResponse;rn CopyMemory(@Buffer[2],@CBVideoResponse,SizeOf(CBVideoResponse));rnrn弱弱的问一句,上面的buffer[2]为char,能“装的下”吗??rnrn
Java char能否存储汉字?
Java的char型字采用的是Unicode编码,在这些编码中就包含有简体中文和繁体中文所需要的字符。因此,char是可以用来表示汉字的,代码如下: public class ChineesTest{    public static void main(String[]args){       char c='中';//定义一个‘中’字符       int i=c;    //把c变量
CSting 汉字赋值char数组
字符串是全汉字的,要将它赋值给一个char型数组,总是得不到正确的值,我知道这是因为汉字占用两个字节,可是这个问题要怎么处理呢?因为这个char是结构体的一个成员,还要将这个结构体写入CArray,所以要数组的每个元素都正确rnCSting substr;rnchar un[32];rnrnstrcpy(monitor.un,substr);rnstrncpy(monitor.un,substr,substr.GetLength());rnmemcpy(monitor.un,substr,substr.GetLength());rnrn这三种方法都试过了,后两种方法当改变substr的值赋给别的char的时候,un会在后面接上新的值。。rn看了很多帖子说用unicode,但我刚开始学,不知道怎么用,如果哪位大虾能给予详细指导,感激不尽~~
用char存汉字 的问题
[code=C/C++]rn#includernusing namespace std;rnrnvoid print(unsigned char c)//显示各位二进制rn unsigned char flag=0x1;rn for(int i=0;i<8;++i)rn cout<<(c&flag)<<" ";rn c=c>>1;rn rn cout<
含汉字的char* 转unicode
在unicode工程中,如何把一个含有汉字的char*转为unicode编码,然后从编辑框输入?rn MultiByteToWideChar试过了没有汉字还行,有汉字会有乱码。。
用int和char来接汉字
[code=&quot;java&quot;] class TestCN { public static void main(String[] args) { int intCN = '头' ; char charCN ='头' ; System.out.println(&quot;int型汉字=&quot;+intCN); System.out.prin...
if中是否可以带有in
[code=SQL]declare @priorrodno varchar(50) rndeclare @priorstate varchar(50) rnselect top 1 @priorrodno=rodno,@priorstate=state from PRO_Priorflow where flowprocess='脱气' and left(state,1)='P' rnorder by state rnif (@@ROWCOUNT>0) rnbegin rnif(@priorrodno in('A03P0058','A10R0078','A08R0107','A06P0040','A01P0317','A05R0126','A02P0308')) rnbegin rnprint 'a'rnrnendrnend[/code]rn貌似if(@priorrodno in('A03P0058','A10R0078','A08R0107','A06P0040','A01P0317','A05R0126','A02P0308')) 这句有问题,敢问哪位高手是否可以这么写或者有其他的判断rn@priorrodno在这组数据里面的方法吗?
char array[5] = “csdn”;中,“csdn”储存的位置?
char array[5] = “csdn”;中,“csdn”储存的位置在哪里?rn栈?只读数据段?rn
基础问题,char(3)可以存储三个汉字吗?
???????????
char*是否就是LPCTSTR?
[size=16px][/size]rnchar*是否就是LPCTSTR?rn如果说不是,为什么在需要LPCTSTR的地方传入char*参数,编译都没有报错呢?
longtext到底能储存多少汉字?
LONGTEXT rn一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符------------就是应该能存储2147483647个汉字,可我存储3万个汉字的文章,就出现文字不能完整存储,似乎只能存储3000字。。。。rnrn请问:这字段到底能放多少字,如果是要放几万字的文章,到底要用什么属性比较好了
*** char a[100]="" 这样是否可以初始化char[]数组中的每个元素都为0(null) ?! ***
我想得到一个全都为0的char数组,这样定义可以么?rnchar a[100]="";rn实际数组中的值确实为0(null),但是不知道这种方式是否正确??能否解释一下rnchar a[100]="" 的语义,谢谢!!!
~~~~~~~~~~session 可以储存类么?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例如:rnMyclass a=new Myclass();rnSession["ssss"]=a;rnrn然后在其他页面:rnLabel1.Text=((Myclass)Session["ssss"]).m_str;rnrnrn为什么不行的?
delphi中是否有char这个类型
如体,是否与c中的一样
mysql可以储存图像吗?
请问mysql可以储存图像吗?如果可以如何用jsp写入和读取?谢谢啦
判断是否为汉字
请问如何在JS中判断一个字符是否为汉字,是否为普通字符。rn另外一个问题,如何调用其它表单对象的一个事件,比如列表对象的单击事件调用了函数"change_opt()"函数,现在我想在脚本中直接调用它的这个事件,该怎么做。请写详细点,我知道有个方法handleEvent(),但不知该怎么用。
判断字符串中是否含有汉字或非汉字 python
model中compile值可以根据需要更改,满足不同的检测需求  #判断一段文本中是否包含简体中文 import re zhmodel = re.compile(u'[\u4e00-\u9fa5]') #检查中文 #zhmodel = re.compile(u'[^\u4e00-\u9fa5]') #检查非中文 contents = u'(2014)深南法民二初字第280号' ma...
校验是否汉字
此段代码为网上资源,经亲测可用,通过校验汉字的区位码校验字符串是否是汉字很有用的。
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件