代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
编码解码相关
作者:
天航
/ 发布于
2017/2/21
/
563
package com.blankj.utilcode.utils; import android.os.Build; import android.text.Html; import android.util.Base64; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/8/7 * desc : 编码解码相关工具类 * </pre> */ public class EncodeUtils { private EncodeUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } /** * URL编码 * 若想自己指定字符集,可以使用{@link #urlEncode(String input, String charset)}方法 * * @param input 要编码的字符 * @return 编码为UTF-8的字符串 */ public static String urlEncode(String input) { return urlEncode(input, "UTF-8"); } /** * URL编码 * 若系统不支持指定的编码字符集,则直接将input原样返回 * * @param input 要编码的字符 * @param charset 字符集 * @return 编码为字符集的字符串 */ public static String urlEncode(String input, String charset) { try { return URLEncoder.encode(input, charset); } catch (UnsupportedEncodingException e) { return input; } } /** * URL解码 * 若想自己指定字符集,可以使用 {@link #urlDecode(String input, String charset)}方法 * * @param input 要解码的字符串 * @return URL解码后的字符串 */ public static String urlDecode(String input) { return urlDecode(input, "UTF-8"); } /** * URL解码 * 若系统不支持指定的解码字符集,则直接将input原样返回 * * @param input 要解码的字符串 * @param charset 字符集 * @return URL解码为指定字符集的字符串 */ public static String urlDecode(String input, String charset) { try { return URLDecoder.decode(input, charset); } catch (UnsupportedEncodingException e) { return input; } } /** * Base64编码 * * @param input 要编码的字符串 * @return Base64编码后的字符串 */ public static byte[] base64Encode(String input) { return base64Encode(input.getBytes()); } /** * Base64编码 * * @param input 要编码的字节数组 * @return Base64编码后的字符串 */ public static byte[] base64Encode(byte[] input) { return Base64.encode(input, Base64.NO_WRAP); } /** * Base64编码 * * @param input 要编码的字节数组 * @return Base64编码后的字符串 */ public static String base64Encode2String(byte[] input) { return Base64.encodeToString(input, Base64.NO_WRAP); } /** * Base64解码 * * @param input 要解码的字符串 * @return Base64解码后的字符串 */ public static byte[] base64Decode(String input) { return Base64.decode(input, Base64.NO_WRAP); } /** * Base64解码 * * @param input 要解码的字符串 * @return Base64解码后的字符串 */ public static byte[] base64Decode(byte[] input) { return Base64.decode(input, Base64.NO_WRAP); } /** * Base64URL安全编码 * 将Base64中的URL非法字符??,/=转为其他字符, 见RFC3548 * * @param input 要Base64URL安全编码的字符串 * @return Base64URL安全编码后的字符串 */ public static byte[] base64UrlSafeEncode(String input) { return Base64.encode(input.getBytes(), Base64.URL_SAFE); } /** * Html编码 * * @param input 要Html编码的字符串 * @return Html编码后的字符串 */ public static String htmlEncode(CharSequence input) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { return Html.escapeHtml(input); } else { // 参照Html.escapeHtml()中代码 StringBuilder out = new StringBuilder(); for (int i = 0, len = input.length(); i < len; i++) { char c = input.charAt(i); if (c == '<') { out.append("<"); } else if (c == '>') { out.append(">"); } else if (c == '&') { out.append("&"); } else if (c >= 0xD800 && c <= 0xDFFF) { if (c < 0xDC00 && i + 1 < len) { char d = input.charAt(i + 1); if (d >= 0xDC00 && d <= 0xDFFF) { i++; int codepoint = 0x010000 | (int) c - 0xD800 << 10 | (int) d - 0xDC00; out.append("&#").append(codepoint).append(";"); } } } else if (c > 0x7E || c < ' ') { out.append("&#").append((int) c).append(";"); } else if (c == ' ') { while (i + 1 < len && input.charAt(i + 1) == ' ') { out.append(""); i++; } out.append(' '); } else { out.append(c); } } return out.toString(); } } /** * Html解码 * * @param input 待解码的字符串 * @return Html解码后的字符串 */ @SuppressWarnings("deprecation") public static CharSequence htmlDecode(String input) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { return Html.fromHtml(input, Html.FROM_HTML_MODE_LEGACY); } else { return Html.fromHtml(input); } } }
试试其它关键字
编码解码相关
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
天航
贡献的其它代码
(
7
)
.
随机生成6/8/12位数,要求每次产生的随机数与已生成的
.
python守护进程监控hive server
.
根据坐标获取位置信息
.
编码解码相关
.
查看本机ip地址
.
清除IOS下input及textarea的阴影 2015-12-02阅读(177
.
查看所有触发器信息
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3