我正在使用这个方便的Javascript函数来解码base64字符串并获得一个数组作为回报.
这是字符串:
base64_decode_array('6gAAAOsAAADsAAAACAEAAAkBAAAKAQAAJgEAACcBAAAoAQAA')
Run Code Online (Sandbox Code Playgroud)
这是返回的内容:
234,0,0,0,235,0,0,0,236,0,0,0,8,1,0,0,9,1,0,0,10,1,0,0,38,1,0,0,39,1,0,0,40,1,0,0
Run Code Online (Sandbox Code Playgroud)
问题是我真的不懂javascript函数:
var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split("");
var base64inv = {};
for (var i = 0; i < base64chars.length; i++) {
base64inv[base64chars[i]] = i;
}
function base64_decode_array (s)
{
// remove/ignore any characters not in the base64 characters list
// or the pad character -- particularly newlines
s = s.replace(new RegExp('[^'+base64chars.join("")+'=]', 'g'), "");
// replace any incoming padding with a zero pad (the 'A' character is zero)
var p = (s.charAt(s.length-1) == '=' ?
(s.charAt(s.length-2) == '=' …Run Code Online (Sandbox Code Playgroud) 我在javascript中得到了一个函数eval - http://pastebin.com/E1PXQeKj 但是我不知道怎么读它?这是如何生成或解码字符串的?或者这个代码怎么样?
感谢帮助!
谁能在这里帮助我解决json的解码?我试图解码一个json api url
这就是我现在所拥有的:
$string = '
{
"username": "someusername",
"unconfirmed_reward": "0.08681793",
"send_threshold": "0.01000000",
"confirmed_reward": "0.02511418",
"workers":
{
"bitcoinjol.jason-laptop": {"last_share": 1307389634, "score": "0", "hashrate": 0, "shares": 0, "alive": false},
"bitcoinjol.david-laptop": {"last_share": 1307443495, "score": "1.7742", "hashrate": 24, "shares": 1, "alive": true},
"bitcoinjol.pierre-pc": {"last_share": 1307441804, "score": "0", "hashrate": 0, "shares": 0, "alive": true},
"bitcoinjol.testJol": {"last_share": 0, "score": "0", "hashrate": 0, "shares": 0, "alive": false}
},
"wallet": "asdasdjsadajdasjdsajasjdajdajs",
"estimated_reward": "0.00131061"
}';
$json_o = json_decode($string);
echo $json_o->username;
Run Code Online (Sandbox Code Playgroud)
这打印出"someusername",但是当我尝试时,我无法打印出工人:
echo $json_o->workers->someusername.jason-laptop;
Run Code Online (Sandbox Code Playgroud)
我认为是"." 或者我使用的" - "无效? …
我一直在搜索如何添加条形码扫描仪到我的应用程序只是为了解码条形码.我找到了一个非常好的应用程序,我可以整合做那个叫做"Zxing"但唯一的问题是,它有编码和解码但我真正想要的只是解码,以便我可以限制我使用的Zxing开源文件.
我搜索了很多地方找不到只用zxing解码?
所以我的问题是我怎么能只使用Zxing进行解码而不进行编码呢?我们非常感谢示例代码和分步说明.
提前致谢!
我有一个像这样的字符串:
La Torre Eiffel paragonata all’Everest
我应该使用什么PHP函数将其转换’为实际的"普通"char ':
La Torre Eiffel paragonata all'Everest
我正在使用CURL来获取页面,此页面中包含该字符串,但由于某些原因,HTML字符未被解码.
该my_url测试页面是一个意大利博客与ISO字符,并且所有的撇号在HTML代码编码像上面.
$output = curl_download($my_url);
$output = htmlspecialchars_decode($output);
function curl_download($Url){
// is cURL installed yet?
if (!function_exists('curl_init')){
die('Sorry cURL is not installed!');
}
// OK cool - then let's create a new cURL resource handle
$ch = curl_init();
// Now set some options (most are optional)
// Set URL to download
curl_setopt($ch, CURLOPT_URL, $Url);
// Set a referer
curl_setopt($ch, CURLOPT_REFERER, "http://www.example.org/yay.htm");
// …Run Code Online (Sandbox Code Playgroud) 我差不多了,但我遇到了解码文件的问题.解码文件时不正确.
我用来上传文件的代码:
createDataSet: function() {
var data = new FormData();
data.append('original_filename', this.get('fileName'));
data.append('datafile', this.get('newData'));
data.append('project_id', this.get('content.id'));
data.append('name', this.get('content.name'));
$.ajax({
url: '/data_sets.json',
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
type: 'POST',
success: function(data) {
alert('ok');
},
error: function(xhr, data, errorThrown) {
alert('error');
}
});
}
Run Code Online (Sandbox Code Playgroud)
在Rails方面,我试图用以下方法来解决这个问题:
def create
# take care of the attachement
datasetfilename = Pathname.new(params[:original_filename]).basename
newfile = File.open(datasetfilename, 'w') do |f|
f.write(Base64.decode64(params[:datafile]))
end
@dataset = DataSet.new
@active_data_set = @dataset.active_data_sets.build
@active_data_set.project_id = params[:project_id]
@active_data_set.save
@dataset.name = params[:name] …Run Code Online (Sandbox Code Playgroud) 我想使用Windows用户名,如密钥加密和解密文本.
但是当我尝试时,密钥太短:无效的AES密钥长度:7个字节
我必须在使用前编码密钥吗?
提前致谢
我有一个使用Base64编码的密钥。
尝试解码时,我收到以下错误。错误被抛出byte[] todecode_byte = Convert.FromBase64String(data);
base64Decode中的错误输入不是有效的Base-64字符串,因为它包含非Base 64字符,两个以上的填充字符或填充字符中的非法字符。
我正在使用以下方法对此进行解码:
public string base64Decode(string data)
{
try
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
System.Text.Decoder utf8Decode = encoder.GetDecoder();
byte[] todecode_byte = Convert.FromBase64String(data); // this line throws the exception
int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
string result = new String(decoded_char);
return result;
}
catch (Exception e)
{
throw new Exception("Error in base64Decode" + e.Message);
}
}
Run Code Online (Sandbox Code Playgroud) 我得到:错误:在将base64_edcode字符串传递到base64.StdEncoding.DecodeString(str)中时,输入字节68处的base64数据非法。
字符串是:
TbHl6ijhdKwXklzOkw5+/r5Yac0kED8Iyp/7suphsFLHSJAUGM8vZHeroTeJ9eF4PePO5A
Run Code Online (Sandbox Code Playgroud)
但将字符串放入php base64_decoed中就可以了,结果是0000000000bd583f958a7018c9 [11,“ string”,8641231,1111]
为什么?