当前位置:首页 » 编程软件 » javac编译兼容编码格式

javac编译兼容编码格式

发布时间: 2023-08-12 05:09:37

1. 对utf-8编码下的java文件如何编译

其实我也遇到你说的问题,但是很遗憾,除了借助Notepad++打开,然后在菜单“格式”中选择“以UTF-8 无BOM格式编码”,然后保存,这时候就可以指定编码了,更干脆的做法是直接在eclipse里面编辑,编辑之前,先设置工作空间为UTF-8,这样,后续创建的文件就会以UTF-8编码编译。

2. java中编码与解码分别指什么

java中编码:URLEncoder.encode(strUri,"utf-8");

java中解码码:URLDecoder.decode(strUri,"utf-8");

3. 如何用java以及javac编译工程

一、javac命令
javac 用于编译Java文件,格式为:
java [options] [sourcefiles] [@files]
其中:
options:命令行选项;
sourcefiles:一个或多个要编译的源文件;
@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。
有几个比较重要的选项:
-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;
-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;多个路径可用分号“;”分隔,linux系统上用冒号“:”分隔,看具体情况,反正不是冒号“:”,就是分号“;”,报错了改下。
-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;
需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:
windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;
linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :
二、java命令
java 用于执行程序,格式如下:
java [options] classfile
options:命令行选项,一般用于 -classpath 指定要执行的文件所在的位置以及需要用到的类路径,包括jar、zip和class文件目录,会覆盖CLASSPATH的设定
三、脚本
如果要敲的命令很长,每次要编译运行的时候都要重新敲一遍,这是一件很痛苦的事情,所以用脚本可以大大方便你的工作 量。在linux下用shell脚本,windows下用bat批处理程序。因为是在linux下,我这里只是简单介绍一下shell,关于bat批处理 程序的语法自己网络一下,不难。
1. 开头
linux有很多不同的shell,通常使用bash(bourne again shell),程序必须以下面的行开始:
#!/bin/sh
#!用来告诉系统用后面的参数来执行程序,这里使用的是/bin/sh
要使你的脚本能够执行,还必须让这个文件有可执行权限,使用下面命令更改文件权限:
chmod +x filename
2. 注释
以#开始的句子表示注释,一直到这行结束,多写注释有利于以后重新看的时候知道自己在做什么
3. 变量
shell的脚本的变量都是字符串,不用申明类型,定义的时候直接 变量=值 即可,用到变量的的时候用 $变量 或者 ${变量},echo命令用于打印,举个例子:
#!/bin/sh
# 定义变量words,值为hello world
words="hello world"
# 打印变量words的值
echo $words
4. 命令
shell脚本里面可以直接任意使用linux命令,要用到什么命令直接敲进去即可。记住一些常用的命令:
cd 打开目录
ls -l 显示目录信息
rm -fr 递归删除目录及下面的文件,不提示信息
mkdir 创建目录
pwd 显示当前路径
kill -9 pid 强制杀掉某个进程号的进程
pkill 杀掉某个名字的进程
ps aux 显示运行进程信息
netstat -pan 查看网络端口监听情况

4. 怎么修改java配置的编译环境的编码

下载JDK
首先我们需要下载java开发工具包JDK
下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。
安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 C:\Program Files (x86)\Java\jdk1.8.0_91。
配置环境变量
1.安装完成后,右击"我的电脑",点击"属性",选择"高级系统设置";
2.选择"高级"选项卡,点击"环境变量";
在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。
变量设置参数如下:
变量名:JAVA_HOME
变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据自己的实际路径配置
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
JAVA_HOME 设置
这是 Java 的环境配置,配置完成后,你可以启动 Eclipse 来编写代码,它会自动完成java环境的配置。
注意:如果使用1.5以上版本的JDK,不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序。
测试JDK是否安装成功
1、"开始"->"运行",键入"cmd";
2、键入命令: java -version、java、javac 几个命令,出现以下信息,说明环境变量配置成功;

5. 关于java编程的GBK和UTF-8字符集问题

你用javac -encoding UTF-8 Exerc02.java能正常输出, 说明你的java文件的编码是utf8
你用javac Exerc02.java编译出错, 说明你的系统默认编码不是utf8
推测你应该是window系统吧
记事本打开Exerc02.java文件, 文件另存为-->选择编码ANSI保存
然后javac Exerc02.java就可以编译了

6. java编码理解

<%@ page contentType= text/ charset=utf pageEncoding= GBK %>

jsp页面(pageEncoding)——根据pageEncoding的设定读取jsp——>翻译成统一的UTF JAVA源码(即 java)——由JAVAC的JAVA源码至java byteCode的编译——>

编译成UTF encoding的二进制码(即 class)——Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码——>输出contentType编码给浏览器

页面输入的参数用pageEncoding来编码

页面的默认编码是什么?

ntentType的默认编码是什么?

编码和解码过程各种文件时什么编码

response setContentType( text/ charset=gb ) 是在页面显示时设置的字符格式request setCharacterEncoding( gb ) 是servlet接受请求后对请求中的字符进行设置字符格式 因为默认通过网络传输的内容都被进行了iso 编码 如果想在后处理的时候不让中文成乱码 那就得对得到的内容进行gb 编码

JSP pageEncoding和contentType属性

JSP要经过两次的 编码 第一阶段会用pageEncoding 第二阶段会用utf 至utf 第三阶段就是由Tomcat出来的网页 用的是contentType

关于JSP页面中的pageEncoding和contentType两种属性的区别

pageEncoding是jsp文件本身的编码

contentType的charset是指服务器发送给客户端时的内容编码

JSP要经过两次的 编码 第一阶段会用pageEncoding 第二阶段会用utf 至utf 第三阶段就是由Tomcat出来的网页 用的是contentType

第一阶段是jsp编译成 java 它会根据pageEncoding的设定读取jsp 结果是由指定的编码方案翻译成统一的UTF JAVA源码(即 java) 如果pageEncoding设定错了 或没有设定 出来的就是中文乱码

第二阶段是由JAVAC的JAVA源码至java byteCode的编译 不论JSP编写时候用的是什么编码方案 经过这个阶段的敏埋结果全部是UTF 的encoding的java源码

JAVAC用UTF 的encoding读取java源码 编译成UTF encoding的二进制码(即 class) 这是JVM对常数字串在二进制码(java encoding)内表达的规范

第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码 输出的结果 也就是在客户端见到的 这时隐藏在阶段一和阶段二的参数contentType就发挥了功效

contentType的设定

pageEncoding 和contentType的预设都是 ISO 而随便设定了其中一个 另一个就跟着一样了(TOMCAT 是如此) 但这不是绝对的 这要看各自JSPC的处理方式 而pageEncoding不等于contentType 更有利亚洲区的文字 CJKV系JSP网页的开发和展示 (例pageEncoding=GB 不等于 contentType=utf )

jsp文件不像 java java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码 一般我们不管是在段侍记事本还是在ue中写代码 如果没有经过特别转码的话 写出来的都是本地编码格式的内容 所以编译器采用的方法刚好可以让虚拟机得到正确的资料

但是jsp文件不是这样 它没有这个默认转码过程 但是指定了pageEncoding就可以实现正确转码了

举个例子

<%@ page contentType= text/ charset=utf %>大都会打印出乱码 因为我输桥燃蚂入的 你好吗 是gbk的 但是服务器是否正确抓到 你好吗 不得而知

但是如果更改为

lishixin/Article/program/Java/hx/201311/26477

热点内容
死神脚本 发布:2025-02-04 21:57:03 浏览:165
phpposthtml 发布:2025-02-04 21:37:46 浏览:87
最新asp源码 发布:2025-02-04 21:17:33 浏览:570
让linux死机 发布:2025-02-04 20:48:08 浏览:141
单方块生存服务器里如何获取岩浆 发布:2025-02-04 20:48:07 浏览:785
快速指数算法 发布:2025-02-04 20:20:40 浏览:299
python在类中定义函数调用函数 发布:2025-02-04 20:14:47 浏览:596
安卓手机的壁纸是哪个 发布:2025-02-04 20:14:44 浏览:202
java发展前景 发布:2025-02-04 20:10:19 浏览:77
mac登陆密码哪里设置 发布:2025-02-04 19:50:20 浏览:526