defines string encoding functions in Qore
More...
#include <QoreEncoding.h>
|
DLLLOCAL qore_size_t | getByteLen (const char *p, const char *end, qore_size_t c, bool &invalid) const |
| gives the number of bytes for the number of chars in the string or up to the end of the string More...
|
|
DLLLOCAL qore_size_t | getByteLen (const char *p, const char *end, qore_size_t c, ExceptionSink *xsink) const |
| gives the number of bytes for the number of chars in the string or up to the end of the string More...
|
|
DLLLOCAL qore_size_t | getCharLen (const char *p, qore_size_t valid_len) const |
| gives the number of total bytes for the character given one or more characters More...
|
|
DLLLOCAL qore_size_t | getCharPos (const char *p, const char *end, bool &invalid) const |
| gives the character position (number of characters) starting from the first pointer to the second More...
|
|
DLLLOCAL qore_size_t | getCharPos (const char *p, const char *end, ExceptionSink *xsink) const |
| gives the character position (number of characters) starting from the first pointer to the second More...
|
|
DLLLOCAL const char * | getCode () const |
| returns the string code (ex: "UTF-8") for the encoding
|
|
DLLLOCAL const char * | getDesc () const |
| returns the description for the encoding
|
|
DLLLOCAL qore_size_t | getLength (const char *p, const char *end, bool &invalid) const |
| gives the length of the string in characters More...
|
|
DLLLOCAL qore_size_t | getLength (const char *p, const char *end, ExceptionSink *xsink) const |
| gives the length of the string in characters More...
|
|
DLLLOCAL int | getMaxCharWidth () const |
| returns the maximum character width in bytes for the encoding
|
|
DLLLOCAL bool | isMultiByte () const |
| returns true if the encoding is a multi-byte encoding
|
|
defines string encoding functions in Qore
for performance reasons this is not a class hierarchy with virtual methods; this ugly implementation with function pointers is much faster. Only encodings where a single character can be more than 1 byte needs to have functions implemented.
- Note
- only encodings that are backwards compatible with ASCII are supported by Qore; currently the only multi-byte encoding supported by qore is UTF-8
-
the default encoding is represented by QCS_DEFAULT; unless another encoding is explicitly given, all strings will be tagged with QCS_DEFAULT
- See also
- QCS_DEFAULT
DLLLOCAL qore_size_t QoreEncoding::getByteLen |
( |
const char * |
p, |
|
|
const char * |
end, |
|
|
qore_size_t |
c, |
|
|
bool & |
invalid |
|
) |
| const |
|
inline |
gives the number of bytes for the number of chars in the string or up to the end of the string
- Parameters
-
p | a pointer to the character data |
end | a pointer to the next byte after the end of the character data |
c | the number of characters to check |
invalid | if true after executing the function, invalid input was given and the return value should be ignored |
- Returns
- the number of bytes for the given number of characters in the string or up to the end of the string
gives the number of bytes for the number of chars in the string or up to the end of the string
- Parameters
-
p | a pointer to the character data |
end | a pointer to the next byte after the end of the character data |
c | the number of characters to check |
xsink | Qore-language exceptions will be raised using this argument |
- Returns
- the number of bytes for the given number of characters in the string or up to the end of the string
gives the number of total bytes for the character given one or more characters
always returns 1 for single-byte encodings
- Parameters
-
p | a pointer to the character data to check |
valid_len | the number of valid bytes at the start of the character pointer |
- Returns
- 0=invalid, positive = number of characters needed, negative numbers = number of additional bytes needed to perform the check
DLLLOCAL qore_size_t QoreEncoding::getCharPos |
( |
const char * |
p, |
|
|
const char * |
end, |
|
|
bool & |
invalid |
|
) |
| const |
|
inline |
gives the character position (number of characters) starting from the first pointer to the second
- Parameters
-
p | a pointer to the character data |
end | a pointer to the next byte after the end of the character data |
invalid | if true after executing the function, invalid input was given and the return value should be ignored |
- Returns
- the number of bytes for the given number of characters in the string
gives the character position (number of characters) starting from the first pointer to the second
- Parameters
-
p | a pointer to the character data |
end | a pointer to the next byte after the end of the character data |
xsink | Qore-language exceptions will be raised using this argument |
- Returns
- the number of bytes for the given number of characters in the string
DLLLOCAL qore_size_t QoreEncoding::getLength |
( |
const char * |
p, |
|
|
const char * |
end, |
|
|
bool & |
invalid |
|
) |
| const |
|
inline |
gives the length of the string in characters
- Parameters
-
p | a pointer to the character data |
end | a pointer to the next byte after the end of the character data |
invalid | if true after executing the function, invalid input was given and the return value should be ignored |
- Returns
- the number of characters in the string
gives the length of the string in characters
- Parameters
-
p | a pointer to the character data |
end | a pointer to the next byte after the end of the character data |
xsink | Qore-language exceptions will be raised using this argument |
- Returns
- the number of characters in the string
The documentation for this class was generated from the following file: