Check UTF-8 encoding, and convert strings to UTF-8
Handle conversion errors properly by inserting � instead. Add a binary header to provide portable way to write binary literals (I like them) Also add a test file. ref #2404
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
#ifndef ENCODING_INCLUDED
|
||||
# define ENCODING_INCLUDED
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace utils
|
||||
{
|
||||
/**
|
||||
* Returns true if the given null-terminated string is valid utf-8.
|
||||
*
|
||||
* Based on http://en.wikipedia.org/wiki/UTF-8#Description
|
||||
*/
|
||||
bool is_valid_utf8(const char* s);
|
||||
/**
|
||||
* Convert the given string (encoded is "encoding") into valid utf-8.
|
||||
* If some decoding fails, insert an utf-8 placeholder character instead.
|
||||
*/
|
||||
std::string convert_to_utf8(const std::string& str, const char* encoding);
|
||||
}
|
||||
|
||||
#endif // ENCODING_INCLUDED
|
||||
Reference in New Issue
Block a user