libnjb
2.2.7
|
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "libnjb.h"
#include "protocol.h"
#include "protocol3.h"
#include "unicode.h"
#include "njb_error.h"
#include "usb_io.h"
#include "ioutil.h"
#include "defs.h"
#include "base.h"
Macros | |
#define | MAX_STRING_LENGTH 512 |
Functions | |
void | njb_set_unicode (int flag) |
int | ucs2strlen (const unsigned char *unicstr) |
char * | strtoutf8 (const unsigned char *str) |
char * | utf8tostr (const unsigned char *str) |
char * | ucs2tostr (const unsigned char *unicstr) |
unsigned char * | strtoucs2 (const unsigned char *str) |
Variables | |
int | __sub_depth |
int | njb_unicode_flag = NJB_UC_8859 |
This file contains general Unicode string manipulation functions. It mainly consist of functions for converting between UCS-2 (used on the devices), UTF-8 (used by several applications) and ISO 8859-1 / Codepage 1252 (fallback).
void njb_set_unicode | ( | int | flag | ) |
This flag determines whether to use ISO 8859-1 / codepage 1252 (default) or unicode UTF-8 for ALL strings sent into and out of libnjb, for ALL sessions and devices.
flag | 0 for ISO 8859-1 / codepage 1252 or 1 for Unicode UTF-8. |
References njb_unicode_flag.
Referenced by NJB_Set_Unicode().
unsigned char* strtoucs2 | ( | const unsigned char * | str | ) |
Convert a simple ISO 8859-1 or a Unicode UTF8 string (depending on library Unicode flag) to a unicode UCS-2 string.
str | the ISO 8859-1 or UTF-8 string to conver |
References NJB_UC_UTF8, and njb_unicode_flag.
Referenced by datafile_pack3(), new_folder_pack3(), and songid_pack().
char* strtoutf8 | ( | const unsigned char * | str | ) |
This function converts an ordinary ISO 8859-1 string to a unicode UTF-8 string
str | the ISO 8859-1 string to convert |
Referenced by songid_unpack().
int ucs2strlen | ( | const unsigned char * | unicstr | ) |
Gets the length (in characters, not bytes) of a unicode UCS-2 string, eg a string which physically is 0x00 0x41 0x00 0x00 will return a value of 1.
unicstr | a UCS-2 Unicode string |
Referenced by njb3_create_playlist(), njb3_update_string_frame(), and songid_pack().
char* ucs2tostr | ( | const unsigned char * | unicstr | ) |
Converts a Unicode UCS-2 2-byte string to a common ISO 8859-1 string quick and dirty (japanese unicodes etc, that use all 16 bits will fail miserably)
unicstr | the UCS-2 unicode string to convert |
References NJB_UC_UTF8, and njb_unicode_flag.
char* utf8tostr | ( | const unsigned char * | str | ) |
This function approximates an ISO 8859-1 string from a UTF-8 string, leaving out untranslatable characters
str | the UTF-8 string to use as indata |
Referenced by songid_pack().
|
extern |
The current subroutine depth for all of libnjb (global)
int njb_unicode_flag = NJB_UC_8859 |
A flag for if unicode is used or not (global)
Referenced by njb_set_unicode(), songid_pack(), songid_unpack(), strtoucs2(), and ucs2tostr().