KRemoteEncoding Class
Allows encoding and decoding properly remote filenames into Unicode. More...
Header: | #include <KRemoteEncoding> |
CMake: | find_package(KF6 REQUIRED COMPONENTS KIO) target_link_libraries(mytarget PRIVATE KF6::KIOCore) |
Public Functions
KRemoteEncoding(const char *name = nullptr) | |
QString | decode(const QByteArray &name) const |
QByteArray | directory(const QUrl &url, bool ignore_trailing_slash = true) const |
QByteArray | encode(const QString &name) const |
QByteArray | encode(const QUrl &url) const |
const char * | encoding() const |
QByteArray | fileName(const QUrl &url) const |
void | setEncoding(const char *name) |
Detailed Description
Certain protocols do not specify an appropriate encoding for decoding their 8-bit data into proper Unicode forms. Therefore, KIO workers should use this class in order to convert those forms into QStrings before creating the respective KIO::UDSEntry. The same is true for decoding URLs to its components.
Each KIO::WorkerBase has one object of this kind, even if it is not necessary. It can be accessed through KIO::WorkerBase::remoteEncoding.
Member Function Documentation
[explicit]
KRemoteEncoding::KRemoteEncoding(const char *name = nullptr)
Constructor.
Constructs this object to use the given encoding name. If name is a null pointer, the standard encoding will be used.
QString KRemoteEncoding::decode(const QByteArray &name) const
Converts the given full pathname or filename to Unicode. This function is supposed to work for dirnames, filenames or a full pathname.
QByteArray KRemoteEncoding::directory(const QUrl &url, bool ignore_trailing_slash = true) const
Converts the given URL into 8-bit form and separate the dirname from the filename. This is useful for worker functions like stat or get.
The dirname is returned with the final slash always stripped
QByteArray KRemoteEncoding::encode(const QString &name) const
Converts the given name from Unicode. This function is supposed to work for dirnames, filenames or a full pathname.
QByteArray KRemoteEncoding::encode(const QUrl &url) const
Converts the given URL into its 8-bit components
const char *KRemoteEncoding::encoding() const
Returns the encoding being used.
See also setEncoding().
QByteArray KRemoteEncoding::fileName(const QUrl &url) const
Converts the given URL into 8-bit form and retrieve the filename.
void KRemoteEncoding::setEncoding(const char *name)
Sets the encoding being used. This function does not change the global configuration.
Pass a null pointer in name to revert to the standard encoding.
See also encoding().