编码——纠正网上的大量错误

字符是没有编码的。字节的个数受编码的影响。编码是属于文件的。

例如:String str=”康会来“

这是一段字符,不管你是GBK,还是UTF-8,他都在这。

只有当它被(字符是被动)生成(编码)为byte时,才需要编码格式。不同的编码格式汉字所占字节的个数不同,所以最终文件的大小会受影响。这也是为什么在流操作时,只有在字节流和字符流之间的桥梁中才需要指明编码。InputStreamReaderOutputStreamWriter

所以,字符串不存在什么编码转换,网上所有有关字符串编码转换的文章都是错误的。

文件才有编码转换,而且源文件的编码格式和目标文件的编码格式我们都要知道才行。

当我们要写入的文件编码为GBK时,我们只需要把str按照gbk编码成的byte[]写入文件即可。

当我们要写入的文件编码为UTF-8时,我们只需要把str按照UTF-8编码成的byte[]写入文件即可。

我们的.java文件也是文件,所以也有文件编码。我们在.java中声明String str=”康会来“,所以在生成字节时会按照我们.java文件的编码来编码我们的文件内容。

时间: 2024-10-11 11:58:46

编码——纠正网上的大量错误的相关文章

中文系统下,UTF-8编码文本文件读取导致的错误

一.UTF-8编码文件读取导致的错误 有个txt文件,里面内容为: aaa bbb ccc 以UTF-8编码方式打开txt文件,顺序读取,将里面的值放到一个hashset中,并判断aaa是否在在hashset中 class { public static void main(String[] args) { try { HashSet<String> specialCateSet= new HashSet<String>(); FileInputStream a = new Fil

关于MYSQL数据库编码(Incorrect string value 错误)

今天遇到Mysql插入数据里有中文字符出现Incorrect string value的错误 现在UTF8是主流,使用GBK 有诸多不便,而且要经常转来转去. 今天碰到个错,是关于EMOJI表情的,EMOJI表情存不进UTF-8的数据库中. 解决办法,把MYSQL数据库编码改为 utf8mb4 即可.在my.ini中修改 这也是UTF8的一种最新的编码格式.用他十分方便 原文地址:https://www.cnblogs.com/catt/p/9393498.html

纠正飞行棋的错误

错误1:在运行暂停功能时,这个暂停功能可以实现,但无法显示提示信息. 改正如下: case 3: Console.Clear(); Program.drawmap(); isstop[0] = true; Console .WriteLine ("{0}走到了暂停,暂停一次!", name[0]); Console.WriteLine("按任意键继续...");  Console.ReadKey(true); 原因:缺少Console.WriteLine("

asp.net项目发布网上-当前自定义错误设置禁止远程查看应用程序

早上服务器的系统突然出错了,悲剧~ ==============异常信息:============================== 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序 说明: 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止查看应用程序错误的详细信息. 详细信息: 若要使他人能够从本地服务器计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors>

js收藏网页功能,纠正网上乱转没求证的案例

网站一般流行以下收藏代码 function AddFavorite(title, url){ try{ //ie收藏 window.external.addFavorite(url, title); } catch(e){ try{ window.sidebar.addPanel(title, url, "");//事件证明无效 } catch(e){ //chrome,webdit等其他 alert("对不起,您的浏览器不支持此操作!请您使用菜单栏或Ctrl+D收藏本站.&

Mysql错误编码和解释表

Mysql错误编码和解释表1.错误消息的组成 一共由三部分组成 mysql数字错误代码,这个数字的mysql的特定值,不可以移植到其它数据库系统. 一个五位长度的sqlstate值,这些值取自ANSI SQL和ODBC,并且更加标准化.并不是所有的MySQL错误号都具有相应的SQLSTATE值.在这些情况下,使用'HY000' (一般错误). 错误的消息描述 2.一些额外的说明 如果需要错误检查,请使用错误代码,而不是错误消息. 如果数据库管理员更改语言设置,则会影响错误消息的语言. 错误代码在

python3在linux下的编码错误

$ python3 aaa.py 'ascii' codec can't encode characters in position 162-165: ordinal not in range(128) aaa.py 文件已经设置 #!/usr/bin/env python3# coding = 'utf-8' 但执行总是报错 'ascii' codec can't encode characters in position 162-165: ordinal not in range(128)

单词错误纠正功能 编辑距离 最大公共字串 两个字符串的相似度 差异度

莱文氏距离 i指向a字符串中的字符j指向b字符串中的字符s[][]存储第a中第i个字符和b中第j个字符相比较后,最小的莱文氏距离值 状态的转移对应2种,其中字符不相等时有3种情况1.a[i]==b[j] ,那么 i++ j++ ,距离值保持上一状态的2.a[i]!=b[j] ,需要增加距离值,那么需要考虑是下面3种情况的哪一种(能得到最小的距离值增量,所以需要做穷举组合处理) 2.1. i++ (表示a中当前字母当删除处理,或者在b中虚拟添加一个和a[i]一样的字符,处理后,距离值+1,然后i自

&lt;转&gt;字符编码笔记:ASCII,Unicode和UTF-8

本文转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚. 下面就是我的笔记,主要用来整理自己的思路.但是,我尽量试图写得通俗易懂,希望能对其他朋友有用.毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识. 1. ASC