|
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(), njb3_power_status(), NJB_Update_Playlist(), songid_pack(), songid_pack3(), and utf8tostr().
| 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 datafile_unpack(), NJB_Get_Owner_String(), playlist_unpack(), and 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 datafile_pack(), njb3_create_playlist(), njb3_power_status(), njb3_update_string_frame(), songid_pack(), songid_pack3(), and ucs2tostr().
| 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, njb_unicode_flag, and ucs2strlen().
Referenced by njb3_control_eax_processor(), njb3_get_codecs(), njb3_power_status(), njb3_reset_get_playlist_tag(), njb3_set_bitmap(), and songid_unpack().
| 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 |
References strtoucs2().
Referenced by datafile_pack(), NJB_Set_Owner_String(), NJB_Update_Playlist(), and songid_pack().
| int __sub_depth |
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().
1.8.11