黑马程序员技术交流社区

标题: java中编码问题? [打印本页]

作者: simonqian    时间: 2013-5-10 22:53
标题: java中编码问题?
本帖最后由 simonqian 于 2013-5-11 11:23 编辑

编码是指:将字符串变成字节数组吗?用程序是怎么写的?举个例子?
作者: 、__WSD吴少东    时间: 2013-5-11 00:41
这个问题...

编码是一种互换,我是这么认为的,

通过字节按照不同的读取方式转换成不同的内容,当然,如果不支持的话转换过来就是所谓的乱码,

当我们在文本中输入一些字符的时候,他会按照默认的编码表,转换成相应的字节,当需要读取的时候,就按照相应的编码表读取该字节

如果两次操作的编码表不是同一个的话,就是乱码

至于程序,毕老师的java基础里面有,我就不帮你copy了

编码主要涉及的就是字节的存储,只要记住一点用哪个编码表写入的就用哪个编码表读取,就差不多了,相应的方法就查API文档吧,我还没复习,差不多忘记了,告诉你可能

是错误的
作者: 石贤芝    时间: 2013-5-11 00:54
在计算机科学中,编码一般有两种解释:一是编程的能力,这个不说;另一个就是把文字、字符、数字等符号编成数码。
即人们规定好一张表,比如GBK码表,在表中规定哪个符号对应哪个数字或者数字组合,并规定它们分别对应多少字节。
一个字符串经过一种编码形式编码后就变成了一个字节数组,但编码不单单是指把字符串编成字节数组。
下面是一个字符串编码的示例:
public class demo1{
        @Test
        public void run()throws Exception{
                String str3 = "我是中国人";
                // 字符串以GBK码表编码成字节数组
                byte[] buf = str3.getBytes("gbk");
                for(int i=0; i<buf.length; i++){
                        System.out.println(buf[i]);
                }
        }
}
作者: 爪哇攻城狮    时间: 2013-5-11 00:55
byte[] by = string.getBytes(Charset charset) 传人指定的编码。

使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。


例如:结果 中文字都是用负数表示。
  1. class CharSet {
  2.         public static void main(String[] args) throws Exception{

  3.                 String str = "你好";
  4.                 byte[] by = str.getBytes("GBK");
  5.                 for (byte b : by){
  6.                         System.out.println(b);
  7.                 }
  8.         }
  9. }
复制代码
结果:



希望能帮到你


作者: 段旭东    时间: 2013-5-11 06:33
java编码 UTF-8 没了!现在手里的 项目是GBK的编码 结果打开中文都会乱码!还要用utf-8的编码查看




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2