c
文章平均质量分 64
sujudz
什么都是故事,就看怎么写
展开
-
VLC自定义m3u8协议片段加密方式
hls(m3u8)本身有一套自己的加密方式,可以保证片段是安全的。但是本身在传输的过程中加密key请求容易被截获,这样存在一点片段key被截取的风险,截取者就可以根据片段和key重新还原m3u8视频文件。 在客户端里,我们可以对EXT-X-KEY再进行一次加密,这样客户端在使用的时候,对EXT-X-KEY再次进行解密,这样,可以更近一步保证视频的安全,虽然无绝对安全,但是可以提高反解密难度。 这里我们以VLC-Android播放器举例,因为是开源,容易修改源码达...原创 2021-04-06 00:47:57 · 1701 阅读 · 0 评论 -
简单的使用jni调用java方法
jni中调用java方法分几步。先使用FindClass方法获取指定类class,在使用GetStaticMethodID方法或者GetMethodID获取静态和非静态的方法id。在使用CallObjectMethod或者CallStaticObjectMethod方法调用静态非静态方法,对于没有返回值的方法,函数为CallStaticVoidMethod形式。jobject zoom原创 2013-06-04 10:20:10 · 30010 阅读 · 0 评论 -
base64编码和解码
引用:百度百科 base64编码Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用原创 2012-12-20 11:32:24 · 1210 阅读 · 0 评论 -
c中多维数组在函数中的使用和传参
c中的一维数组使用还是比较简单,传参的话,可以直接使用int a[2] 直接指定,或者使用int *a这种指针类型的都可以。 二维数组在c语言中,如果是使用int a[2][2]={{1,2},{5,4}} 之类的初始化的,其实在内存中也是一段连续的内存,只是在使用上区别,因为c语言需要知道你操作的是一个二维数组。 关于二维数组的在函数中传参使用,其实主要是指针类型 的声明原创 2012-12-17 20:15:02 · 4959 阅读 · 0 评论 -
jni调用c编码解码base64
最近看了下怎么编码解码base64,就顺便使用jni调用方法,编译成dll,给java使用。这个base64没有按照base64标准,和apache的包一样没有进行76字符加换行符。#include #include #include #include "Base64Code.h"/*code解码表*/static char Base64Code[] = {'A','B','C'原创 2012-12-23 23:56:04 · 2333 阅读 · 0 评论 -
关于生成回文数
"回文数"是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。具体可以看百科回文数介绍百科回文数计算机来求多少数之间的回文数,通常采用两种方法,一种是穷举,一种是根据回文数的规律直接求值。穷举耗时,代码简单,求规律代码多,运行快。c实例:/***author:suju.*/#include #includ原创 2012-11-27 12:01:46 · 3003 阅读 · 0 评论 -
win32sdk学习 richedit实现的一个简单记事本
记录的源文件,篇幅有点长工具栏资源图片bmp格式notepad.h文件// NOTEPAD_H_INCLUDED/*** Copyright (C) name:notepad author:suju 日期:2012-10-04*/#ifndef NOTEPAD_H_INCLUDED#define NOTEPAD_H_INCLUDED原创 2012-10-28 07:59:26 · 8182 阅读 · 3 评论 -
计算机中负数和正数的二进制表示
计算机中,数值的二进制表示有几个概念。原码,补码和反码。计算机中,数值都是以补码的形式保存。原码:就是十进制的数字转换为二进制在计算机中的表示,如正2,二进制表示为000 0010,(这里取8位显示),-2的2进制表示为1000 0010。前面的一位表示符号位,其中,正数为0,负数为1.反码:正数的反码和原码相同,负数的反码就是保持原有符号位不变,其他位取反。正数反码不变,负数如下原创 2012-11-07 09:33:38 · 10840 阅读 · 0 评论 -
一个字符串截取函数c语言
刚开始学习c语言,标准库中总是有很多函数没有,string.h中的字符串处理函数好像不是很多,在做栈的例子用需要用到一个字符串按位置截取的函数,就自己写一个,超简单。char* substring(char* ch,int pos,int length){ char* pch=ch;//定义一个字符指针,指向传递进来的ch地址。 char* subch=calloc原创 2012-09-01 21:16:32 · 14466 阅读 · 3 评论 -
归并排序实现
归并法。是将两个,或两个以上的有序表合并为一个新的有序表。两个有序表合并为一个有序表,称为2路归并。排序算法中的归并排序算法,就是把一个需要排序的数组或集合,从中间拆分为2部分,将拆分的两部分,继续拆分,整个拆分过程也是一个递归,直到分解的各个部分为一个元素,一个元素我们也可以称为 只包含一个元素的有序表。 然后,在进行归并操作,一个大的集合或数组,经过上面拆分步骤,已经分为很多小原创 2012-09-13 00:17:22 · 570 阅读 · 0 评论 -
用栈来是实现表达式求解的小程序
表达式求解有有多种解决办法,也有很多方法是先把表达式转换为后缀式在求解的。我这里是使用2个栈来直接求解的,一个栈用来保存运算符,一个用来保存数字。基本的思路也就是,程序根据输入的字符,来分步解析,并计算。用2个数组来表示运算符和运算符的优先级,通过运算符的优先级来决定是否进行运算还是入栈。static char operas[]={'#','+','-','*','/'};static原创 2012-09-02 23:00:21 · 2062 阅读 · 0 评论 -
括弧匹配,栈应用举例。
写博客,一来是记住平时的一点想法,还有就是可以保留自己写过的小程序。最近老是发现,一些小程序,以前写过,后来忘记了,再写,总要想一会,把这些写在博客里,回头看看博客,可以马上就想起来,既可以让自己坚持写博客,还可以多记住东西,何乐而不为。一个用c写的来坚持括弧匹配的,是严蔚敏那个数据结构中的题目。int main(){ stack* s=StackCreate();//创建一原创 2012-08-30 11:31:55 · 1147 阅读 · 0 评论