「字体转换java」字体转换器在线转换可以复制的

博主:adminadmin 2023-01-24 02:21:08 290

本篇文章给大家谈谈字体转换java,以及字体转换器在线转换可以复制的对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java怎么把utf-8的字符串转换为gb2312格式

Java中字符串转码,根据实际运用的环境有以下三种方式

使用Java.lang.String

这是最常用的方法,先用对应编码获取字节,然后重新构造新编码,示例代码如下:

String s = "清山";  

byte[] b = s.getBytes("utf-8");//编码  

String sa = new String(b, "gb2312");//解码:用什么字符集编码就用什么字符集解码

java.io.InputStreamReader/OutputStreamWriter:桥转换

读写文件的应用中,可以使用这种方式,直接在IO流构造中转换,示例代码如下:

InputStream is = new FileInputStream("C:/项目进度跟踪.txt");//文件读取  

InputStreamReader isr = new InputStreamReader(is, "utf-8");//解码  

OutputStream os = new FileOutputStream("C:/项目进度跟踪_gb2312.txt");//文件输出  

OutputStreamWriter osw = new OutputStreamWriter(os, "gb2312");//开始编码

java.nio.Charset

使用nio中的Charset转换字符,示例代码如下:

Charset inSet = Charset.forName("utf-8");  // 解码字符集 

Charset outSet = Charset.forName("gb2312");  // 编码字符集  

CharsetDecoder de = inSet.newDecoder();  // 解码器

CharsetEncoder en = outSet.newEncoder();// 编码

在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的专栏

如何用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简体字符串。

java字符转换

java字符串大小写转换的两种方法

import java.io..*

public class convertToPrintString

{

public static void main(String[] args) throws IOException

{

InputStreamReader reader = new InputStreamReader(System.in);

BufferedReader input = new BufferedReader(reader);

System.out.print("Please enter your word:");

String text = input.readLine();

String s = convertString(text);

System.out.println(s);

}

//第一种方法

public static String convertString(String src)

{

char[] array = src.toCharArray();

int temp = 0;

for (int i = 0; i array.length; i++)

{

temp = (int) array[i];

if (temp = 90 temp = 65)

{ // array[i]为大写字母

array[i] = (char) (temp + 32);

} else if (temp = 122 temp = 97)

{ // array[i]为小写字母

array[i] = (char) (temp - 32);

}

}

return String.valueOf(array);

}

获取个数

array.length就可以了

//第二种方法

public static String convertString(String str)

{

String upStr = str.toUpperCase();

String lowStr = str.toLowerCase();

StringBuffer buf = new StringBuffer(str.length());

for(int i=0;i

{

if(str.charAt(i)==upStr.charAt(i))

{

buf.append(lowStr.charAt(i));

}

else

{

buf.append(upStr.charAt(i));

}

}

return buf.toString();

}

java怎么把字符转换成数字?

下面这个方法可以转换,前提是你的字符内容是数字类型。比如 String str = "123" 或者 char str = '2'\x0d\x0a\x0d\x0achar a = '1';\x0d\x0aString b = String.valueOf(a);\x0d\x0aint c = Integer.parseInt(b);\x0d\x0a\x0d\x0a上面你说的 c - '0' 这一步应该就是转换格式的 ,我知道类似的在 js 中把一个变量转换成字符串 可以用 var str = str+""; 加两个引号就相当于格式转换了。

java怎么把ttf字体文件转换成 java中可获取的16进制字符串?

1.读取

import java.awt.Font;

import java.io.File;

import java.io.FileInputStream;

public class Loadfont

{

public static Font loadFont(String fontFileName, float fontSize) //第一个参数是外部字体名,第二个是字体大小

{

try

{

File file = new File(fontFileName);

FileInputStream aixing = new FileInputStream(file);

Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, aixing);

Font dynamicFontPt = dynamicFont.deriveFont(fontSize);

aixing.close();

return dynamicFontPt;

}

catch(Exception e)//异常处理

{

e.printStackTrace();

return new java.awt.Font("宋体", Font.PLAIN, 14);

}

}

public static java.awt.Font Font(){

String root=System.getProperty("user.dir");//项目根目录路径

Font font = Loadfont.loadFont(root+"/data/PRISTINA.ttf", 18f);//调用

return font;//返回字体

}

public static java.awt.Font Font2(){

String root=System.getProperty("user.dir");//项目根目录路径

Font font = Loadfont.loadFont(root+"/data/XXXX.ttf", 18f);

return font;//返回字体

}

}

2.转换:

public static String ascii2native(String ascii) {

int n = ascii.length() / 6;

StringBuilder sb = new StringBuilder(n);

for (int i = 0, j = 2; i n; i++, j += 6) {

String code = ascii.substring(j, j + 4);

char ch = (char) Integer.parseInt(code, 16);

sb.append(ch);

}

return sb.toString();

}

关于字体转换java和字体转换器在线转换可以复制的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。