27 lines
718 B
C++
27 lines
718 B
C++
|
/**
|
|||
|
* \file utf8.hh
|
|||
|
* \brief Header for UTF-8 related functions
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef LZW_SRC_UTF8_H_
|
|||
|
#define LZW_SRC_UTF8_H_
|
|||
|
|
|||
|
#include <cstdio>
|
|||
|
#include <cstdint>
|
|||
|
|
|||
|
/*
|
|||
|
L’encodage des caractères se fait en UTF-8
|
|||
|
char < 128 => "0xxxxxxx" 7bits
|
|||
|
char < 2,048 => "110xxxxx 10xxxxxx" 11bits
|
|||
|
char < 65,536 => "1110xxxx 10xxxxxx 10xxxxxx" 16bits
|
|||
|
char < 2,097,152 => "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" 21bits
|
|||
|
char < 67,108,864 => "111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx" 26bits
|
|||
|
char < 2,147,483,648 => "1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx" 31bits
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
/// \brief Écrit les caractères au format UTF-8
|
|||
|
void write_utf8(std::FILE* t_out, std::uint32_t t_c);
|
|||
|
|
|||
|
#endif /* LZW_SRC_UTF8_H_ */
|