java代码实现简体繁体转换
汉字分为简体和繁体字,这是众所周知的,虽然繁体字中国大陆这边用的并不会太多,但时不时的还是会使用到。那么,如何做到简体字和繁体字的转换呢?其实很简单,这里附上一个java版本的简繁体转换,用网上找的接口实现的,非常简洁,省去不少麻烦,直接上代码:
package com.xiaocongjisuan.module.example;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class Application {
	 public static final String DEF_CHATSET = "UTF-8";
	 public static final int DEF_CONN_TIMEOUT = 30000;
	 public static final int DEF_READ_TIMEOUT = 30000;
	 public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
	 //配置您申请的appKey和openId
	 public static final String APP_KEY ="yours";
	 public static final String OPEN_ID ="yours";
	 //将map型转为请求参数型
     public static String urlEncode(Map<String,Object> params) {
    	if(params==null){return "";};
    	StringBuilder sb = new StringBuilder();
        for (Map.Entry<String,Object> i : params.entrySet()) {
            try {
                sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        String r=sb.toString();
        if(r.endsWith("&")){
        	r = r.substring(0,r.length()-1);
        }
        return r;
     }
     /**
     *
     * @param requestUrl 请求地址
     * @param params 请求参数
     * @param method 请求方法
     * @return 请求结果
     * @throws Exception
     */
     public static String requestContent(String requestUrl, Map<String,Object> params,String method) throws Exception {
    	HttpURLConnection conn = null;
        BufferedReader reader = null;
        String rs = null;
        try {
        	//组装请求链接
            StringBuffer sb = new StringBuffer();
            if(method!=null&&method.equalsIgnoreCase("get")){
            	requestUrl = requestUrl+"?"+urlEncode(params);
            }
            //默认get
            URL url = new URL(requestUrl);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            if(method!=null&&method.equalsIgnoreCase("post")){
            	 conn.setRequestMethod("POST");
                 conn.setDoOutput(true);
                 conn.setDoInput(true);
            }
            //参数配置
            conn.setRequestProperty("User-agent", userAgent);
            conn.setUseCaches(false);
            conn.setConnectTimeout(DEF_CONN_TIMEOUT);
            conn.setReadTimeout(DEF_READ_TIMEOUT);
            conn.setInstanceFollowRedirects(false);
            conn.connect();
            if (params!= null && method.equalsIgnoreCase("post")) {
                try {
                    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                    out.writeBytes(urlEncode(params));
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            //读取数据
            InputStream is = conn.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sb.append(strRead);
            }
            rs = sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                reader.close();
            }
            if (conn != null) {
                conn.disconnect();
            }
        }
        return rs;
    }
	public static void main(String[] args) throws Exception{
		String domain="http://api.xiaocongjisuan.com/";
		String servlet="life/simtrachinese/convert";
		String method="get";
		String requestUrl=domain+servlet;
		Map<String,Object> params=new HashMap<String,Object>();
		params.put("appKey",APP_KEY);
		params.put("openId",OPEN_ID);
		//变动部分
		params.put("simpleChinese","我是一只小小鸟");
		params.put("tradtionalChinese","文學家的故事是這樣的");
		String result=requestContent(requestUrl,params,method);
		System.out.println(result);
	}
}
php的代码实现如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<?php
/**
 * @author
 * @copyright 2019
 */
header("content-type:text/html;charset=utf-8");         //设置编码
//配置您申请的appKey和openId
$app_key = "***";
$open_id = "***";
/**
$url 请求地址
$params 请求参数
$ispost 请求方法
*/
function http_curl($url,$params=false,$ispost=false){
    $httpInfo = array();
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    curl_setopt( $ch, CURLOPT_USERAGENT , "xiaocongjisuan");
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    if( $ispost )
    {
        curl_setopt( $ch , CURLOPT_POST , true );
        curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
        curl_setopt( $ch , CURLOPT_URL , $url );
    }
    else
    {
        if($params){
            curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
        }else{
            curl_setopt( $ch , CURLOPT_URL , $url);
        }
    }
    $response = curl_exec( $ch );
    if ($response === FALSE) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    curl_close( $ch );
    return $response;
}
function main(){
    global $app_key;
    global $open_id;
    $domain="http://api.xiaocongjisuan.com/";
    $servlet="life/simtrachinese/convert";
    $method="get";
    $url=$domain."".$servlet;
    $params['appKey']=$app_key;
    $params['openId']=$open_id;
    //变动部分
    $params["simpleChinese"]="我是一只小小鸟";
    $params["tradtionalChinese"]="文學家的故事是這樣的";
    //编码转换
    foreach ($params as $key=>$value) {
        $params[$key]=mb_convert_encoding($value, "UTF-8", "GBK");
    }
    $paramstring = http_build_query($params);
    $content = http_curl($url,$paramstring,true);
    return $content;
}
echo main();
?>
其他代码的实现方式可以跳转查看,感谢阅读。
java代码实现简体繁体转换的更多相关文章
- 汉字简体繁体转换----Javascript
		最近看到有个简体--繁体字互相转换的程序,是用JS实现的,感觉很好玩,所以拿来研究研究.先看看界面如下: 汉字简体繁体转换 // 0&&parent.frames.length) { ... 
- php 网站中文简体繁体转换类
		php 网站中文简体繁体转换类 <?php /* * define zh convert functions * 2017-4-28 use str_replace for speed * zh ... 
- c#简体繁体转换
		方法一已经亲测,使用正常,方法二貌似不能用. 方法一 /// <summary> /// 中文字符工具类 /// </summary> public static class ... 
- Delphi 简体 繁体 转换
		http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=104986 試看看 這個是豬寶寶從網路上抄來的 檢視純文字版列印? fun ... 
- java代码---数据类型的强制转换----不懂啊
		总结:看写的测试代码 字符到整型必须进行强制转换 package com.a.b; //byte→int 可以 int范围大,不必转换 B.short→long //C.float→double 这个 ... 
- MyEclipse: Java代码与UML自动转换
		第一步:新建UML2 第二步:拖拽左边的代码向右侧 
- PHP实现---汉字简体繁体转换
		這是以class包裝好的簡繁體轉換的class, 另外需要兩個table檔: 1. http://www.jerry.com.tw/php/big5.map 2. http://www.jerry.c ... 
- spring boot: 通过filter过滤器实现中文的简体繁体字符集转换(spring boot 2.3.1)
		一,为什么要使用filter来实现简繁体转换? 项目中有时会有同时支持简体和繁体两种字符集的要求, 或者搜索引擎有支持繁体输入字符的需求. 针对繁体字符的显示, 我们通常会在数据库和模板.文案配置中默 ... 
- Delphi汉字简繁体转换代码(分为D7和D2010版本)
		//delphi 7 Delphi汉字简繁体转换代码unit ChineseCharactersConvert; interface uses Classes, Windows; type T ... 
随机推荐
- 菜单项(Menu)的初步认识  以及   多级菜单(SubMenu)的初步认识
			MainActivity.class public class MainActivity extends AppCompatActivity { private TextView textView; ... 
- css网页使用自定义字体方法
			@font-face可以加载服务器端的字体到浏览器端,这样设计师就可以不受客户端字体库的限制. 一般来说有四种格式的字体文件即可覆盖所有浏览器.这四种格式为: .EOT:适用于Internet Exp ... 
- ThreadPoolExecutor源码分析一
			在线程池出现之前,每次需要使用线程,都得创建一个线程.但是,在java的运行环境中,创建一个线程是非常耗费资源和时间的.是否可以把线程重复利用,减少线程的创建次数.基于此,java1.5 ... 
- oracle ORA-16038   ORA-00257
			出现 ORA-16038时也可以参考下边的错误,好像有关联影响 出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日 ... 
- 第四章 Jinja2模版
			模板简介: 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中的页面大多是带有样式和复杂逻辑的HTML代码,这可以让浏览器渲染出非常漂亮的页面.目前市面上有非常多的模板系统,其中最知名好用的 ... 
- Failed to start MariaDB database server. (已解决)  之前配过主从
			[root@linux-node1 /var/log/mariadb]# systemctl status mariadb.service● mariadb.service - MariaDB dat ... 
- Python JSON  Ⅱ
			json.loads json.loads 用于解码 JSON 数据.该函数返回 Python 字段的数据类型. 语法 实例 以下实例展示了Python 如何解码 JSON 对象: 以上代码执行结果为 ... 
- Codeforces Round #346 (Div. 2) C题
			C. Tanya and Toys In Berland recently a new collection of toys went on sale. This collection consist ... 
- GitLab 如何在 Web 界面中 Merge branch
			希望在 GitLab 中对 2 个 branch 进行合并,如何创建 Pull Request 并且如何进行合并呢? 在 GitLib 的 Web 界面中选择 Merge Requests 然后再界面 ... 
- 51 Nod 1070 Bash游戏v4(斐波那契博弈)
			这题的证明看不太懂,日后再重做... 1070 Bash游戏 V4 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 有一堆石子共有N个.A B两个 ... 
