byte与base64字串换转

public byte[] base64ToByte(String strBase64){
  if(strBase64==null)return null;
  byte[] bytes = null;
  try {
  BASE64Decoder dec = new BASE64Decoder();
  bytes = dec.decodeBuffer(strBase64);
  }
  catch(Exception ex){
  ex.printStackTrace();
  }
  return bytes;
}

public String byteToBase64(byte[] aryByte){
  if(aryByte==null)return "";
    String strBase64 = "";
  try {
    BASE64Encoder enc = new BASE64Encoder();
    strBase64 = enc.encode(aryByte);
  }
  catch(Exception ex){
    ex.printStackTrace();
  }
  return strBase64;
}

时间: 2024-10-11 09:42:44

byte与base64字串换转的相关文章

c#调用dll接口传递utf-8字串方法

1. 起源: VCU10之视频下载模块,采用纯python实现,c++代码调用pythonrun.h配置python运行环境启动python模块,以使界面UI能够使用其中功能. 棘手问题!用去一天时间反复打印日志,验证所传字串区别,以期望发现问题定位问题,直至下班前始有灵感. 验证发现,非中文字符可以正常下载,中文字符下载解析失败,当时即想到可能是字串不统一所致,就在python代码中做字串转换处理,均不奏效. 原接口封装代码如下: [DllImport("VideoDownloader&quo

【经典算法】寻找最长01字串(转自待字闺中)

这两天在微信公众号“待字闺中”中看到一个经典的面试算法,寻找最长01字串,原题目是这么说的: 给定一个数组,数组中只包含0和1.请找到一个最长的子序列,其中0和1的数量是相同的. 例1:10101010 结果就是其本身.例2:1101000 结果是110100 这个题目,看起来比较简单,一些同学可能认为题目的描述符合动态规划的特征,然后就开始用动态规划解,努力找状态转移方程.这些同学的感觉,是很正确的.但,找状态转移方程,我们要对原来的数组进行变换一下. 原来是0和1的串,我们将0都换为-1.这

java中把字节数组为16进制字串

把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { super(); } public static String str; public static final String EMPTY_STRING = ""; private final static String[] hexDigits = { "0", &q

字串比较函数 strcmp

//重点在于函数中需要手动push一些寄存器, 且以ebp为基址计算参数的地址. #include "stdafx.h" __declspec(naked) int strcmpA(char *s1, char *s2)    //__declspec(naked) 不用编译器自动附带各种push ebp pop ebp等语句 { __asm { push ebp mov ebp, esp push edi push esi xor al, al mov edi, dword ptr

字符串中最长的不重合字串长度

例子 "abmadsefadd"  最长长度为5 "avoaid"           最长长度为3 思路 空间换时间hashTable,标准下其实位置beg.初始化全局最大值0.开辟字符数组,起初标为0. 访问数组时 如果该字符在hashTable对应的哈希值为1,则计算当前位置到beg的距离,并且把beg赋值为当前位置.如果大于全局最大值,则替换全局最大值 如果该字符在hashTable对应的哈希值为0,则置1 参考代码 #include <iostrea

剖析固定長度欄位的訊息字串

在進行系統整合時,系統間不管是透過網路.檔案傳送訊息資料,常會遇到訊息字串的各個欄位是固定長度的,這種情況下程式怎麼寫會比較簡潔易懂? 這裡是我提供的一個方法,使用 annotation 將訊息字串欄位的設定值直接寫在程式上,而不是寫在設定檔裡,這樣應該會比較直覺. 假設有個程式,要顯示中華民國總統的任期和歷史評價,其訊息格式如下: 首先,我們定義一個 annotation,可以設定欄位的開始位置和長度,如下: 1 package idv.steven; 2 3 import java.lang

1099 字串变换

1099 字串变换 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 已知有两个字串 A$, B$ 及一组字串变换的规则(至多6个规则): A1$ -> B1$ A2$ -> B2$ 规则的含义为:在 A$中的子串 A1$ 可以变换为 B1$.A2$ 可以变换为 B2$ …. 例如:A$='abcd' B$='xyz' 变换规则为: ‘abc’->‘xu’ ‘ud’-&

codevs1099字串变换(Bfs)

/* 最少步数问题 妥妥的Bfs 很显然队列里存的是串(可能存个数也可以 就像8数码那样) 然后每次队首元素弄出来 能换的都换一遍 最后每次换完的新串入队前先判断到头了没 最后说一句 String大法好0.0 */ #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; int ans,n=1,head,tail,t[200005

DELPHI加密字串(异或运算加密)

首先有两个自定的转换函数: function myStrToHex(s:string):string; //字串转16进制 var TmpStr:string; i:integer; begin TmpStr:=''; for i:=1 to Length(s)do TmpStr:=TmpStr+IntToHex(ord(s[i]),2); Result:=TmpStr; end; function myHexToStr(S:string):string; //16进制转字串 var HexS,