luckfox-pico-sdk/project/app/wifi_app/wifi/utility/encode/RK_encode.c
2023-10-27 17:12:27 +08:00

55 lines
978 B
C

#include <stdio.h>
#include "gbk_to_utf8.h"
#include "utf8_to_gbk.h"
#include "RK_encode.h"
int RK_encode_is_utf8(char *buf, const int size)
{
int i = 0;
int bit1num = 0;
unsigned char temp = 0;
if ((size == 0) || (*buf == '\0')) {
return 1;
}
for (i = 0; i < size; i++) {
if ((!bit1num) && ((buf[i] & 0x80) == 0)) {
continue;
} else if ((bit1num) && ((buf[i] & 0xc0) == 0x80)) {
bit1num--;
continue;
} else if ((bit1num) && ((buf[i] & 0xc0) != 0x80)) {
return 0;
} else {
temp = buf[i] & 0xff;
bit1num = 0;
while ((temp << bit1num) & 0x80) {
bit1num++;
if(bit1num > 6){
return 0;
}
}
if(bit1num < 2) {
return 0;
}
bit1num--;
}
}
if(bit1num)
return 0;
return 1;
}
int RK_encode_gbk_to_utf8(unsigned char* src, int len, unsigned char* dst)
{
return gbk_to_utf8(src, len, dst);
}
int RK_encode_utf8_to_gbk(unsigned char* src, int len, unsigned char* dst)
{
return utf8_to_gbk(src, len, dst);
}