示例#1
0
int bin2urlstr(const BYTE *bindata, size_t size, char *str)
{
	int ret = bin2b64str(bindata, size, str);

	// strip \r\n
	for (char *s=str, *d=str; *d = *s; s++) {
		if (*s != '\r' && *s != '\n') {
			d++;
			ret--;
		}
	}

	// replace char
	for (char *s=str; *s; s++) {
		switch (*s) {
		case '+':
			*s = '-';
			break;

		case '/':
			*s = '_';
			break;

		case '=':
			*s = 0;
			ret--;
			break;
		}
	}
	return	ret;
}
示例#2
0
int bin2b64str_revendian(const BYTE *bindata, int len, char *buf)
{
	BYTE *rev = new BYTE [len];

	if (!rev) return -1;

	rev_order(bindata, rev, len);
	int	ret = bin2b64str(rev, len, buf);
	delete [] rev;

	return	ret;
}
示例#3
0
int bin2b64str_revendian(const BYTE *bindata, size_t size, char *buf)
{
	BYTE *rev = new BYTE [size];

	if (!rev) return -1;

	rev_order(bindata, rev, size);
	int	ret = bin2b64str(rev, size, buf);
	delete [] rev;

	return	ret;
}
示例#4
0
int bin2urlstr(const BYTE *bindata, int len, char *str)
{
	int ret = bin2b64str(bindata, len, str);

	for (char *s=str; *s; s++) {
		switch (*s) {
		case '+': *s = '-'; break;
		case '/': *s = '_'; break;

		case '\r':
		case '\n':
		case '=': *s = 0;   break;
		}
	}
	return	ret;
}