文档章节

如何解决Android客户端工程编码转换问题

天堂之镜
 天堂之镜
发布于 2015/02/12 20:15
字数 832
阅读 73
收藏 0

    一、场景描述:

    有一个Android工程或一个Java工程,工程的编码为GBK。此工程中的部分文件编码是GBK,另外部分文件的编码是UTF-8,现在要求将工程的编码设置为UTF-8,工程内所有文件统一为UTF-8编码,并且不产生乱码问题。

    二、可选方案:

    1.网上任意找一个所谓的转换工具。

    利:简单;快速;

    弊:不可控(二次危害);稳定性无法保证;无法保证所有文件全部转换成功;无法保证不产生乱码问题;

    2.手工处理。

    利:简单;有保证;

    弊:成本高;周期长;研究成果无法重复利用;

    3.利用网上已有Java小程序,修改之后使用。

    利:研究成果可重复利用,可批量处理;有较高保证(这个保证以优良的Java小程序为前提);

    弊:研究较复杂;小程序需要反复调试和测试,研究完成之后,还需要独立的将此小程序保存;仅研究者自己熟悉,不便于他人熟悉和学习;

    4.利用Linux下的Shell命令。

    利:批量处理;成熟稳定;速度也有保证;简单(几条命令的事);

    弊:不易上手;一般人不知道这些命令;无法轻松的让这些串连起来成一个脚本,为自己所用(哈哈,我就是这样);不跨平台;

    5.利用VIM的批处理命令。

    利:非常简单;成熟稳定;结果有保证;批量处理;灵活;

    弊:难以想到他的相关命令;难以将他的相关命令运用自如;

    三、方案选择:

    选择方案5:利用VIM的批处理命令

    选择理由:

    1.找到了他的相关命令

    2.简单

    3.稳定

    4.灵活

    5.跨平台

    6.软件轻松可得

    7.批量

    8.本人之前就对VIM比较熟悉

    9.args命令之前就使用过

    四、具体流程:

    1.下载一个最新版的VIM编辑器,并安装

    2.找到你JAVA工程的资源目录

    3.在资源目录的根目录创建一个“test.txt”文本文件(Linux下,无需这一步)

    4.使用VIM打开此文本文件

    5.在进入VIM的命令模式(默认,刚打开便进入的命令模式。如果你不小心进行了编辑模式,可以使用Esc键返回命令模式。<其实能进入VIM编辑模式的人,必然知道如何退出编辑模式>)

    6.输入args命令。比如,你需要处理当前目录,以及当前目录的所有子目录下的所有java文件,你可以输入   :args **/*.java

,那txt文件呢?当然是 :args **/*.txt了。依此类推。多种类型或文件可以使用空格分隔。

    7.输入argdo命令。比如,你需要将使用args命令打开的所有文件的编码设置为UTF-8,你可以输入  :argdo set fenc=utf-8 | update,或输入  :argdo set fileencoding=utf-8 | update ,那需要变为gbk呢?你可以输入 :argdo set fenc=cp936  | update ,同样,其它编码都可以设置。

    8.最后wq退出。

© 著作权归作者所有

共有 人打赏支持
天堂之镜
粉丝 5
博文 6
码字总数 5734
作品 0
长沙
高级程序员
私信 提问
如何解决Android客户端工程编码转换问题

如何解决Android客户端工程编码转换问题

天堂之镜
2015/02/12
3
1
支付宝客户端架构解析:Android 容器化框架初探

1. 前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用...

josephjin
2018/11/23
0
0
Android与MINA2、Netty4的跨平台UDP双向通信实战

概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。 当前由于NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。...

JackJiang-
2016/06/30
804
1
android跨进程通信(IPC):使用AIDL

AIDL的作用 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进...

长平狐
2013/12/25
242
0
手机淘宝Android客户端架构

手机淘宝Android客户端有几百人开发,十几个团队。如果整个Android客户端是一个工程,那十几个团队每个人上午上班第一件事情估计就是合代码,运气不好,一天都在合代码,而且只要有一个人提交...

fneg
2015/07/04
0
8

没有更多内容

加载失败,请刷新页面

加载更多

CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
1
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
2
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
3
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
2
0
深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部