精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-18
实际上跟知道不知道UTF-8是几个字节一点关系都没有,最后把加解密算法重新都改成了对字节的操作。
不过还是谢谢切切。 |
|
返回顶楼 | |
发表时间:2007-08-19
可以看看我这篇博客:Utf-8编码是如何工作的 http://bigpanda.iteye.com/blog/31890
|
|
返回顶楼 | |
发表时间:2007-08-19
引用 1、创建一个UTF-8编码的文件:weare.txt 2、写入三个字:“我们是” 3、运行以下代码: 代码 public class UTF8 { public static void main(String[] args) throws IOException { String p = "weare.txt"; InputStream in = new FileInputStream(p); int read = in.read(new byte[1204]); System.out.println(read); } } 4、你会发现打印出来的是 9 ! 怎么我的文件是12个字节,打印结果是 12 ? |
|
返回顶楼 | |
发表时间:2007-08-19
楼上的,你保存的文件可能带有BOM。
|
|
返回顶楼 | |
发表时间:2007-08-19
utf-8表示英文用一个字节表示一个,和Ascii一样。表示汉字就不一定了。
UTF-8用1到6个字节编码UNICODE字符。如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE 字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE 字符。 |
|
返回顶楼 | |
发表时间:2007-08-20
编码确实是个碍手的问题
|
|
返回顶楼 | |