
正文
java简体转换繁体代码 java换字体
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 实现 简体gb 到 繁体 再到 big5码 的转换
public class CharDecode {
public static void main(String[] args) throws Exception{
// TODO: Add your code here
System.setProperty("file.encoding","big5");//系统默认字符改成big5
System.out.println("please enter a chinese String:");
byte [] buf = new byte[1024];
String strInfo = null;
int pos = 0;
int ch = 0;
while(true)
{
ch = System.in.read();
System.out.println(Integer.toHexString(ch));
switch(ch)
{
case '\r':
break;
case '\n':
strInfo = new String(buf,0,pos);//使用默认字符集
for(int i=0;istrInfo.length();i++)
{
System.out.println(Integer.toHexString(/*(int)*/strInfo.charAt(i)));
}
System.out.println(new String(strInfo.getBytes("big5"),"gb2312"));//big5转换成gb2312
break;
default:
buf[pos++] = (byte)ch;
}
}
}
}
相关问答
Q1: java 编程中汉字字符串变成繁体或乱码
这个是典型java简体转换繁体代码的GBK乱码。
应该是java简体转换繁体代码你java简体转换繁体代码的jdkjava简体转换繁体代码的编码设置不对。和java简体转换繁体代码你的java文件编码不一致。
Q2: 系统下C语言繁体字符串转换为简体字符串怎么实现
以下代码是javajava简体转换繁体代码的繁体简体互转方法java简体转换繁体代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public static String a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3PhRsm1K9nWuWmhPbPhFB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6zrHmLPWTsnWbdrjTYPHn3n0" target="_blank" class="baidu-highlight"big5/aToChinese( String s )
{
try{
if ( s == null || s.equals( "" ) )
return("");
String newstring = null;
newstring = new String( s.getBytes( "a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3PhRsm1K9nWuWmhPbPhFB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6zrHmLPWTsnWbdrjTYPHn3n0" target="_blank" class="baidu-highlight"big5/a" ), "a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3PhRsm1K9nWuWmhPbPhFB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6zrHmLPWTsnWbdrjTYPHn3n0" target="_blank" class="baidu-highlight"gb/a2312" );
return(newstring);
}
catch ( UnsupportedEncodingException e )
{
return(s);
}
}
public static String ChineseToa href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3PhRsm1K9nWuWmhPbPhFB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6zrHmLPWTsnWbdrjTYPHn3n0" target="_blank" class="baidu-highlight"big5/a( String s )
{
try{
if ( s == null || s.equals( "" ) )
return("");
String newstring = null;
newstring = new String( s.getBytes( "a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3PhRsm1K9nWuWmhPbPhFB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnH6zrHmLPWTsnWbdrjTYPHn3n0" target="_blank" class="baidu-highlight"gb/a2312" ), "big5" );
return(newstring);
}
catch ( UnsupportedEncodingException e )
{
return(s);
}
}
Q3: 在java中,怎么把繁体字转化为简体字
实现思路一:采用字符串的方式实现
[java] view plain copy
package com.bzu.converter;
import java.util.Scanner;
/**
* 思路一:采用字符串的方式实现
*/
public class JianFanConvert1 {
public static final String jianti = "万与丑专业丛东丝";
public static final String fanti = "万与丑专业丛东丝";
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你想转换的句子");
String words = input.next();
for (int i = 0; i words.length(); i++) {
char tempChar = words.charAt(i);
int position = jianti.indexOf(tempChar);//此方法调用时间复杂度为O(n)
char fantiChar;
if (position == -1) {
fantiChar = tempChar;
} else {
fantiChar = fanti.charAt(position);
}
System.out.print(fantiChar);
}
}
}
分析上述实现,时间复杂度为O(n*n),当问题规模扩大时会非常耗时。
实现思路二:采用哈希算法实现
1.哈希方法
哈希方法在就是在键和值之间建立一个确定的对应函数关系hash(),就是key向value的换算关系,使得每一个键与结构中的一个唯一的存储位置相对应:值的存储位置=hash(键)即Value的位置=hash(key)
例如有一组“键值对”:5,”tom”、8,”Jane”、12,”Bit”、17,”Lily”、20,”sunny”,我们按照如下哈希函数对键进行计算:hash(x)=x%17+3,得出如下结果:hash(5)=8、hash(8)=11、hash(12)=15、hash(17)=3、hash(20)=6。
我们把5,”tom”、8,”Jane”、12,”Bit”、17,”Lily”、20,”sunny”分别放到地址为8、11、15、3、6的位置上。当要检索17对应的值的时候,只要首先计算17的哈希值为3,然后到地址为3的地方去取数据就可以找到17对应的数据是“Lily”了。
使用哈希方法,查询的时间复杂度为O(1),能够直接定位其位置,大大加快数据的查询速度。
2.哈希表
将数据采用哈希算法进行保存的数据结构就是哈希表,常见操作put、get、remove。
Java中的HashMap使用(Java内置的哈希表数据结构)
HashMap的主要方法
int size():得到Map中“键-值对”的数量
boolean isEmpty():Map是否是空的,也就是是否不含有任何“键-值对”
boolean containsKey(Object key):Map中是否含有以key为键的“键-值对”
boolean containsValue(Object value):Map中是否含有以value为值的“键-值对”
Object get(Object key):从Map中得到以key为键的值,如果Map中不含有以key为键的“键-值对”则返回null
Object put(Object key, Object value):向Map中存储以key为键、value为值的“键-值对”
Object remove(Object key):从Map中移除以key为键的“键-值对”
void clear():清除所有“键-值对”
Set keySet():得到所有的键
Collection values():得到所有的值
Set entrySet():得到所有的“键-值对”,Set中的类型是Map.Entry
[java] view plain copy
package com.bzu.converter;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
* 思路二:采用哈希算法实现
*/
public class JianFanConvert2 {
public static final String jianti = "万与丑专业丛东丝";
public static final String fanti = "万与丑专业丛东丝";
public static void main(String[] args) {
MapCharacter, Character map=new HashMapCharacter, Character();
for(int i=0;ijianti.length();i++){
map.put(jianti.charAt(i),fanti.charAt(i));
}
Scanner input = new Scanner(System.in);
System.out.println("请输入你想转换的句子");
String words = input.next();
/**
* 为了测试随着问题规模的扩大用时
*/
for(int i=0;i10;i++){
words=words+words;
}
long begin=System.currentTimeMillis();
for (int i = 0; i words.length(); i++) {
char tempChar = words.charAt(i);
Character character=map.get(tempChar);
char fantiChar;
if (character == null) {
fantiChar = tempChar;
} else{
fantiChar=character;
}
System.out.print(fantiChar);
}
long end=System.currentTimeMillis();
System.out.println("\n用时:"+(end-begin));
}
}
分析上述算法实现,时间复杂度变为o(n)
问题探讨:
为什么算法复杂度由O(n*n)变成O(n),但是实际执行时间没有明显的变化?
print,数据在CPU、内存中运算都非常快,一旦与外设(打印机、网络(网卡)、显示设备(显卡))交换数据,速度就会慢很多
来自
junjunguoguo的专栏
Q4: 如何用java将繁体字转为简体字
我不知道你是要自己实现,还是说只要有个类库就可以了,下面是我找的一个类库的实例代码:
package test3;
import net.sf.chineseutils.ChineseUtils;
public class Test {
public static void main(String args[]) throws Exception{
System.out.println(ChineseUtils.simpToTrad("把BIG5繁体字符串转换成的GB简体字符串。"));
}
}
输出:
把BIG5繁体字符串转换成的GB简体字符串。
Q5: java 里面注释出来了繁体字
java的注释出来了繁体字,是Eclipse/MyEclipse编码与java文件不匹配出现乱码(繁体字)导致的。可以按如下两种方式修改:
修改java文件的编码方式,可以按以下步骤:
选中文件右键--Properties--Resource--Text file encoding--选中Other,然后选择想要的编码格式就可以了。
修改MyEclipse的编码方式,可以按以下步骤:
菜单栏的Window--Perferences--General--Work Space--Text file encoding--选中Other,然后选择想要的编码格式就可以了。
关于java简体转换繁体代码和java换字体的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








