# Conventions for Strings

## C++ version

In the C++ version, **eVision** uses `std::string` to represent strings with the following convention:

* All methods taking `std::string` as argument expect it to be UTF-8 encoded.

  In the case a `std::string` containing non-valid UTF-8 bytes is passed to any method of the library, a [`EException`](../doxygen_cpp/classeVision_1_1EException.html) will be thrown with error code [`EError_InvalidUTF8Encoding`](../doxygen_cpp/namespaceeVision.html#a04f7b8c03e2d4bcc141fc5b4672406b6).
* All methods returning a `std::string` always return it as UTF-8 encoded.

## .Net and Python

In the .Net and Python versions of **eVision**, all strings work as usual according to the usual practice of the programming language.
