JAVA编码机制
java中所有都是unicode的编码,恐怕大家都清楚,但是这具体是哪里的编码。在一台中文windows操作系统(GBK),或英文的linux操作系统下(ISO-8859-1)下,这些编码是如何转换的。JAVA中的String类的getBytes()方法和String类的指定编码方式的构造函数中的编码又是如何呢?
这里我不做深入解释,只是展示一下这些编码转换的流程。
以windows中文操作系统为例,我们编写好的java文件以默认本地操作系统的编码方式进行存储(java源文件和class文件),即GBK。
当jvm需要载入相应的类时,jvm将GBK编码的字符转换为unicode字节码,即jvm中的字节码是unicode的。
以上两个过程实际上不需要我们参与,因此对于任何平台,我们所要操作的目标都是unicode编码的字符串。
byte[] getBytes(code)
这个方法是将unicode字符串按照code指定的编码方式转换为字节数组,这里会出现转码问题,如unicode-->iso-8859-1。如果是ASCII的字符,则不会有问题,但是如果出现汉字的unicode,则得到的iso编码必然是?(63)
String(byte[],code)
按照code指定的解码方式,将byte[]字节组解码为对应编码方式的字符串。
Internet上传递的字节流的编码都是ISO-8859-1的,因此要想恢复到之前的汉字字符串需要按照以下步骤:
String string = in.readLine();
byte[] b = string.getBytes("iso-8859-1");
new String(b,"gbk");
相关文档:
1. JDBC 驱动程序
1.1 DB2 JDBC Type 2 驱动程序
DB2 客户机
不建议使用
COM.ibm.db2.jdbc.app.DB2Driver 调用Class.forName() 方法。
1.2 IBM DB2 通用JDBC 和SQLJ 驱动程序
提供了Type 2 连接性和Type 4 连接性
可以将这个驱动程序用于app ......
我现在是大三的学生,我在暑假开始接触Java web编程,现在差不多学了有半年了吧。那时Java自己一点了不懂,记得上网页设计老是提起jsp,是第一次接触到Java。从那时自己就在图书馆借阅关于Java的书籍。暑假和几个同学也参加了一个关于web编程的比赛,那时我们四人每天都在实验室中做比赛的题目。
......
最近项目中有个需求,要用Socket实现长连接,并且在通信过程中要互为server和client,即在一个连接中,既能够发送消息,(此时作为客户端),又要能够接收消息(此时作为server端),研究了下,实现方式如下:
一、发送消息时建立连接,构建通道。
Socket socket = new Socket();
SocketAddress endpoint = new In ......
1.java连接Oracle数据库:
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@127.0.0.1:1521:全局数据库名";
String uname="用户名";
String pwd="密码";
Connection cn =DriverManager.getConnection(url,uname,pwd);
Statement s=cn.createS ......
这里为大家谈谈Java存储过程调用,我们可以利用Java存储过程简化数据库操作, 利用Java存储过程沟通SQL、XML、Java、J2EE和Web服务。
创建需要的测试表:create table Test(tid varchar2(10),tname varchar2(10));
第一种情况:无返回值.
create or replace procedure test_a(param1 in varchar2,param2 in varchar2)as ......