IntelliJ IDEA的文件编码处理 收藏
因为要写这篇文章,所以查询了一下些关于编码的知识,不对之处希望能指出来 :)。编码主要经历三个阶段:ASCII、ANSI和Unicode。
ASCII大家都知道,就是以一个字节的低7位表示字符,这样可以表达128个字符,通常就是我们所说的英文字母和符号;
ANSI标准利用两个扩展ASCII字符来表达非英文字符,这样可以表达的扩展字符数就到达了14位,即16384个字符。针对ANSI,每个国家(地区)有自己的编码规范,对中文来说就是GB2312,GBK和GB18030,台湾的BIG5,日文的Shift-JIS等,这些都是对ANSI的具体扩展。如果你编写一个文本文件,指定为GBK,那么你打开该文件的时候必须指明其正确的编码方式,否则会出现乱码。不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中,也就是GBK编码的文件中不可能出现日文,否则打开该文件时就会出乱码。
UNICODE 使用两个字节对世界上几乎所有的语言进行编码(0x0000-0xFFFF),它可以表达的字符数量为16位,即65536个字符,每种语言的代码段不同,两个字节所表达的字符是唯一的,所以不同语种可以共存于文本中。UNICODE只是指定了编码,没有指定传输方式( big endian)问题,所以派生了UTF(UNICODE Transformation Format),所以UTF-8和UTF-16都是UNICODE的一种编码方式。对于UNICODE文件来说,通常文件内容的头两个字节来表明其是UNICODE,如FF FE 表示为UTF-8编码,其情况均表示为ANSI,这也是为何有IDEA的“Autodetect UTF-encoded files“功能的原因。由于UTF-8不需要处理big endian问题,因此UTF-8是最常用的UNICODE编码方式。
乱码问题:由于UNICODE和ANSI所处理的字符的代码不一样,而且各个国家对ANSI码的解释也不一样,所以UNICODE和ANSI之间、不同国家的ANSI之间的不正确使用就导致了乱码,如打开一个字节流,如果设置的解析编码不正确,乱码就出现啦,所以要搞清楚你使用的编码方式,这样就不会出现乱码。
扯了这么多,我们看一下IDEA提供哪些处理编码的功能。IDEA中lossy encoding(中文不知道如何翻译:易损的编码?)究竟发挥怎么样的作用咧?lossy encoding可以把不应该出现在该文件中的字符指出来,提示你进行修正。如在us-ascii编码的文件中,出现中文或日文可不可以的;同样在GBK编码的文件中出现ANSI日文或UTF字符也是不可以的。
但是在实际的开中,有一些文件是能描述自身编码的,如xml和html。xml可以通过encoding来指定编码方式,而html通过content-type方式来指定,如果打开这些文件,就会调用相应的编码方式来处理。在开发中,我们通常会从一种编码方式转换到另一种编码,在IDEA中 ,如果你将这些自身带有编码信息的文件的编码声明改变的话,对应的文件编码也会改变。如将一个utf-8的xml文件的encoding更改为GBK,那么文件的编码也会自动进行转换并进行保存,同样修改html的content-type或jsp的content-type都会引发文件的编码自动转换,这样的处理对编码转换非常有好处,在google上你可以搜索到很多编码转换的工具,但这一切IDEA都在自动帮你搞定。如果你想快速查看一个文件的编码,最好安装File Info插件,按下Ctrl+F10马上就可以了解文件的编码方式。
最后稍微聊一下项目的编码,如果你的项目是国际化的话,最好选择utf-8,因为可以融合多个语言,这也是为何很多论坛都采用utf-8编码(不同语言的人都会发帖),而Rails将utf-8设为默认。其他情况请选择适当的ANSI编码,同时也要考虑和utf-8直接的转换,如Ajax等。在最新的IDEA 8.0 EAP中,项目级别的编码可以被指定,而且各个文件可以指定相关的编码,文件编码处理的功能更强。希望这些介绍能对文件编码了解和实际开发有一定的帮助。
新建工程时----在General中,把File Encoding和Properties Files都设置成utf-8编码。
页面加上 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
IDEA会自动转换成相应的编码
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ago52030/archive/2009/03/11/3978813.aspx
分享到:
相关推荐
在使用IntelliJ IDEA时,可能会遇到一些常见的问题,如修改JAVA编译版本、字符编码的转换、搜索功能失效、自动导入依赖等。这些问题都有相应的解决方法和技巧,本教程也会为用户一一解答。 IntelliJ IDEA为优化体验...
文档接下来讲解了IntelliJ IDEA的用户界面(UI),包括UI的主题、字体、编辑区主题以及如何修改文件编码来解决乱码问题。这些都是新用户上手时必须掌握的基本操作。 ### 文件与项目管理 指南还包括了如何管理项目中...
1. **IntelliJ IDEA Global Settings**:这是IntelliJ IDEA全局设置文件,包含了关于IDE的偏好设置,如编辑器字体、界面语言、检查规则等。 2. **installed.txt**:可能记录了已安装的插件信息,这对于恢复一个特定...
本压缩包文件“IntelliJ IDEA主题.zip”包含了多套精心挑选的IntelliJ IDEA主题,旨在为用户提供美观且舒适的编程界面,提升编码时的视觉享受和工作效率。 主题在IDE中的作用主要体现在改变代码编辑器、工具窗口...
IntelliJ IDEA是一款功能强大且功能丰富的集成开发环境(IDE),它提供了许多实用的功能和设置,帮助开发者提高编码效率和开发质量。下面是IntelliJ IDEA的一些常见问题和解决方法: 一、常见问题 1. IntelliJ ...
在编码阶段,IntelliJ IDEA的重构工具是其一大亮点。例如,你可以轻松地重命名变量、方法,甚至整个类,IDE会自动更新所有引用。此外,代码格式化、代码分析和优化也是提升代码质量的重要工具。 在调试方面,...
IntelliJ IDEA是一款由JetBrains公司开发的集成开发环境(IDE),主要用于Java、Kotlin、Groovy、Scala等编程语言的开发工作。2020.1.4是该IDE的一个特定版本,针对x64架构,即64位操作系统。这个版本提供了许多功能...
IntelliJ IDEA是一款备受开发者喜爱的Java集成开发环境(IDE),以其高效、智能的编码辅助和强大的项目管理功能而闻名。然而,对于中文用户来说,原生英文界面可能会造成一定的使用不便。在这种情况下,汉化补丁就...
2. **IntelliJ IDEA Global Settings**:这个文件是全局设置的备份,包括界面主题、编辑器字体大小、显示语言、启动项目、更新策略等整体性的设置。通过导入这个文件,你可以快速将新安装的IntelliJ IDEA调整为你...
10.主题字体和文件编码修改 11.各类文件类型图标讲解 12.索引的讲解 13.编译方式讲解 14.项目相关概念讲解 15.Hello World 项目创建和项目配置文件讲解 16.版本控制讲解 17.实时代码模板讲解 18.文件代码模板讲解 19...
1. **YAML语法高亮**:IntelliJ IDEA会为YAML文件提供颜色编码,使关键字、缩进、字符串等元素易于识别,提高代码可读性。 2. **代码提示和补全**:在编辑YAML文件时,IDE会提供智能代码补全功能,帮助用户快速输入...
IntelliJ IDEA是一款广受欢迎的Java集成开发环境(IDE),由JetBrains公司开发。它以其高效、智能的代码补全、强大的调试工具和高度可定制的设置而闻名。本篇文章将详细探讨`IntelliJ IDEA 2021.3.3`版本中的设置...
此外,IntelliJ IDEA还支持多种编码风格和框架,如Maven、Gradle构建工具,Spring、Hibernate等企业级框架,以及Android开发等。通过插件市场,你可以安装更多扩展,如Git集成、代码格式化工具、代码审查辅助等,...
IntelliJ IDEA 提供了多种查找功能,包括全局查找、文件查找、类查找等。其中,如何查找功能帮助开发者在复杂项目中快速定位资源。 ### Spring框架支持 由于Spring框架在Java开发中的广泛应用,IntelliJ IDEA 提供...
IntelliJ IDEA是一款深受Java开发者喜爱的集成开发环境(Integrated Development Environment),由JetBrains公司开发。它以其强大的代码自动补全、高效的项目管理和优秀的代码分析功能而闻名。本指南将详细解析...
如果用户在之前版本的IntelliJ IDEA中有过个性化设置和插件配置,通过导入旧版的settings目录(默认位于C:\Users\{User}\.IntelliJIdea12目录下),可以将这些配置直接应用到新安装的版本中,这样可以避免重复进行...
3. **智能编码**:体验IntelliJ IDEA的代码补全、自动格式化、代码分析等功能,提高编程效率。 4. **调试与测试**:掌握如何使用IDE的调试工具进行单步调试,设置断点,以及集成JUnit和TestNG进行单元测试和集成...
- **代码提示**:利用 IntelliJ IDEA 的智能代码补全功能,提高编码效率。 - **重构**:学习如何安全地对现有代码进行重构,包括重命名、移动、提取方法等操作,以优化代码结构。 ##### 2.6 使用版本控制 - **版本...
一旦插件安装完成,便可以在IDEA中新建一个“JForm”文件,开始界面设计。JFormDesigner提供了一系列预定义的组件,如按钮、文本框、标签等,开发者只需通过鼠标操作即可将这些组件放置到设计区域,调整大小和位置。...
- **主题字体和文件编码修改**:解释如何根据个人喜好调整编辑器的主题、字体大小以及项目的字符编码。 - **文件类型图标**:介绍不同文件类型的图标表示及其含义,便于快速识别文件类型。 #### 六、索引与编译 - *...