对于Facebook fbml应用程序Facebook发送的signed_request参数在此解释:
http://developers.facebook.com/docs/authentication/canvas
他们给出了解码这个签名请求的php版本:
如何在python中做同样的事情?
我试过base64模块但是我得到了错误的填充错误:
>>> base64.urlsafe_b64decode("eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOjEyNzk3NDYwMDAsIm9hdXRoX3Rva2VuIjoiMjk1NjY2Njk1MDY0fDIuRXpwem5IRVhZWkJVZmhGQ2l4ZzYzUV9fLjM2MDAuMTI3OTc0NjAwMC0xMDAwMDA0ODMyNzI5MjN8LXJ6U1pnRVBJTktaYnJnX1VNUUNhRzlNdEY4LiIsInVzZXJfaWQiOiIxMDAwMDA0ODMyNzI5MjMifQ")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/base64.py", line 112, in urlsafe_b64decode
return b64decode(s, '-_')
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/base64.py", line 76, in b64decode
raise TypeError(msg)
TypeError: Incorrect padding
Run Code Online (Sandbox Code Playgroud) 我正在尝试用Ruby编码URL并用Javascript解码它们.然而,加号角色给了我奇怪的行为.
在Ruby中:
[Dev]> CGI.escape "a b"
=> "a+b"
[Dev]> CGI.unescape "a+b"
=> "a b"
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但是Javascript怎么样?
>>> encodeURI("a b")
"a%20b"
>>> decodeURI("a+b")
"a+b"
Run Code Online (Sandbox Code Playgroud)
基本上我需要一种编码/解码URL的方法,这些方法在Javascript和Ruby中的工作方式相同.
编辑: decodeURIComponent不是更好:
>>> encodeURIComponent("a b")
"a%20b"
>>> decodeURIComponent("a+b")
"a+b"
Run Code Online (Sandbox Code Playgroud) 在马拉-Naboisho狮项目已经要求我们帮助解码和绘制配备了GPS项圈狮子的位置.
他们从领子收到短信:
Collar07854_100806210058.SMS
074952494449554d0000000000000000000000000000000000000000000000040f33303030333430313232393738393000000000000000000000000000000000f10a0806100028008c13ef348a0039d0fe000de871004cc92b5ca92d6213ef26640039d108000de86b004cc92d5ca92d5d13ef18620039d101000de865004cc92c5ca92d5813ef0a930039d0fc000de864004cc9311c682d5413eefc170039d045000de7d4004cc95b7c692c5013eeee280039d0ff000de85f004cc92a7c692d6fffffffffffffffffffffffffffffffffffffffffff
Collar07854_100807060011.SMS
074952494449554d0000000000000000000000000000000000000000000000040f33303030333430313232393738393000000000000000000000000000000000f10a0807020038008c13efb2eb0039d0ed000de853004cc92e3cea2d8813efa5060039d0fb000de860004cc9291c6a2d8413ef96fd0039d0fc000de85e004cc92d5c6a2d7f13ef88e00039d0f6000de85a004cc92b5c6a2d7b13ef7ad80039d0fa000de85a004cc9327c6a2d77ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Run Code Online (Sandbox Code Playgroud)
这些可能是SMS PDU,虽然简单的在线解码器似乎没有太多意义.其中有ASCII文本"IRIDIUM",可能是SMSC或发送者或字符串,因为IRIDIUM是一个卫星电话系统,可能是当项圈发送他们的位置时的持票人.
更新:他们有一些与这些项圈对应的KML文件; 我在这里和这里上传了KML.项圈可能由Vectronic-Aerospace制造.
它是什么格式,我们如何解码它?
我正在尝试将图像的base64字符串解码为二进制文件,以便可以通过操作系统在本地下载和显示.
我作为带有数据URI前言的HTML IMG元素的src(数据:img/png; base64,)成功呈现的字符串,但是当使用atob函数或goog闭包函数时,它失败了.
但是,当放入此处时解码成功:http://www.base64decode.org/
有任何想法吗?
编辑:我成功地使用除内置JS函数之外的其他库进行解码.但是,它仍然无法在本地打开 - 在Mac上说它已经损坏或者格式不明,无法打开.
代码就是这样的:
imgEl.src = 'data:img/png;base64,' + contentStr; //this displays successfully
decodedStr = window.atob(contentStr); //this throws the invalid char exception but i just
//used a different script to get it decode successfully but still won't display locally
Run Code Online (Sandbox Code Playgroud)
base64字符串本身太长而无法显示(限制为30,000个字符)
有谁知道如何在Java环境中解码H.264视频帧?
我的网络摄像机产品支持RTP/RTSP Streaming.
我的网络摄像机提供服务标准RTP/RTSP,它还支持"RTP/RTSP over HTTP".
RTSP:TCP 554 RTP启动端口:UDP 5000
我目前在解密由php mcrypt加密的邮件方面遇到了一些问题.php代码如下:
<?php
//$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = "45287112549354892144548565456541";
$key = "anjueolkdiwpoida";
$text = "This is my encrypted message";
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $iv);
$crypttext = urlencode($crypttext);
$crypttext64=base64_encode($crypttext);
print($crypttext64) . "\n<br/>";
?>
Run Code Online (Sandbox Code Playgroud)
然后将加密的消息发送到ASP.NET平台(C#).但是,我在保留解密顺序(base64解码到urldecode)时遇到问题.我在ASP.NET中的代码如下(iv和key与php中的相同):
public string Decode(string str)
{
byte[] decbuff = Convert.FromBase64String(str);
return System.Text.Encoding.UTF8.GetString(decbuff);
}
static public String DecryptRJ256(string cypher, string KeyString, string IVString)
{
string sRet = "";
RijndaelManaged rj = new RijndaelManaged();
UTF8Encoding encoding = new UTF8Encoding();
try
{
//byte[] message = Convert.FromBase64String(cypher);
byte[] message …Run Code Online (Sandbox Code Playgroud) 我想用BitmapFactory.decodeFile(路径,选项)解码SD卡中的图像.
我还希望将大于2048x2048像素的图像缩小到最多2048x2048(保持比例).
我可以在获取位图后手动执行此操作,但除了已分配的字节之外,还需要分配大量字节.
我应该如何设置我的BitmapFactory.Options对象以获得该效果?
谢谢
我的数据中有许多HTML实体(•...等),包括'.我只是想把它转换为它的等价字符.
我假设htmlspecialchars_decode()会起作用,但是 - 没有运气.思考?
我试过这个:
echo htmlspecialchars_decode('They're here.');
Run Code Online (Sandbox Code Playgroud)
但它返回: They're here.
编辑:
我也尝试过html_entity_decode(),但它似乎不起作用:
echo html_entity_decode('They're here.')
Run Code Online (Sandbox Code Playgroud)
还返回: They're here.
我正在寻找一个直接在Raspberry Pi上解码视频的例子,而不使用OpenMAX.
这解释了多媒体软件的不同层次:

还有一个未在此处显示的附加层," MMAL "层(我相信)是围绕OpenMAX的Broadcom包装器.(如果没有,它将是一个OpenMAX替代品,位于内核驱动程序之上)例如,使用MMAL编写raspivid和raspistill.
我想要一个视频解码的例子,其中输入是原始H.264,输出是内存中的视频或屏幕上的视频.我想直接使用VCHIQ这样做,而不是使用OpenMAX.(主要是出于性能和灵活性的原因)
这个github存储库:https://github.com/raspberrypi/userland/包含上面显示的所有内容的源(橙色和绿色框; VCHIQ本身的源代码,VCHIQ之上的OpenMAX IL实现,以及OpenGL和EGL实现,. ..).所以在理论上它应该足以开始.问题是如何使用它是非常不明显的,即使一个人非常熟悉OpenMAX和一般的多媒体框架.
例如:vchiq_bulk_transmit()似乎是用于将视频发送到解码器的功能.但是如何初始化类型的第一个参数VCHIQ_SERVICE_HANDLE_T?结果在哪里,在帧缓冲区中,或在结果句柄中,还是......?
编辑可以通过使用vchiq提供视频解码的工作示例,显示调用序列的API演练(尽管不是一个工作示例)或指向足够的文档来编写它来收集赏金.一个工作的例子将得到一个巨额额外的赏金:)
我尝试使用互联网上提供的示例示例中的FFMpeg库解码视频,我用新版本的ffmpeg搞清楚,这是我从我的类文件中调用的代码,
private static native int decodeVideo(String filename);
decodeVideo(getString(R.string._sdcard_abc_3gp));
Run Code Online (Sandbox Code Playgroud)
现在位于JNI目录的.c文件中,我写了这段代码,
jint Java_ru_dzakhov_ffmpeg_test_MainActivity_decodeVideo(JNIEnv* env, jobject
javaThis,jstring filename) {
AVFormatContext *pFormatCtx;
int i, videoStream;
AVCodecContext *pCodecCtx;
AVCodec *pCodec;
AVFrame *pFrame;
AVFrame *pFrameRGB;
AVPacket packet;
int frameFinished;
int numBytes;
uint8_t *buffer;
// Register all formats and codecs
av_register_all();
// Open video file
const jbyte *str;
str = (*env)->GetStringUTFChars(env, filename, NULL);
if(av_open_input_file(&pFormatCtx, str, NULL, 0, NULL)!=0)
{
LOGI("Can't open file '%s'\n", str);
return 1;
}
else
{
LOGI("File is opened\n");
LOGI("File '%s', Codec %s",pFormatCtx->filename,pFormatCtx->iformat->name);
} …Run Code Online (Sandbox Code Playgroud)