diff options
Diffstat (limited to 'core/src/fxcrt')
-rw-r--r-- | core/src/fxcrt/fx_basic_util.cpp | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/core/src/fxcrt/fx_basic_util.cpp b/core/src/fxcrt/fx_basic_util.cpp index ed71d975c8..447e169a98 100644 --- a/core/src/fxcrt/fx_basic_util.cpp +++ b/core/src/fxcrt/fx_basic_util.cpp @@ -184,99 +184,6 @@ void FXSYS_vsnprintf(char* str, size_t size, const char* fmt, va_list ap) { } #endif // _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900 -static FX_BOOL FX_IsDigit(uint8_t ch) { - return (ch >= '0' && ch <= '9') ? TRUE : FALSE; -} -static FX_BOOL FX_IsXDigit(uint8_t ch) { - return (FX_IsDigit(ch) || (ch >= 'A' && ch <= 'F') || - (ch >= 'a' && ch <= 'f')) - ? TRUE - : FALSE; -} -static uint8_t FX_MakeUpper(uint8_t ch) { - if (ch < 'a' || ch > 'z') { - return ch; - } - return ch - 32; -} -static int FX_HexToI(uint8_t ch) { - ch = FX_MakeUpper(ch); - return FX_IsDigit(ch) ? (ch - '0') : (ch - 55); -} -static const unsigned char url_encodeTable[128] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, -}; -CFX_ByteString FX_UrlEncode(const CFX_WideString& wsUrl) { - const char arDigits[] = "0123456789ABCDEF"; - CFX_ByteString rUrl; - int nLength = wsUrl.GetLength(); - for (int i = 0; i < nLength; i++) { - FX_DWORD word = wsUrl.GetAt(i); - if (word > 0x7F || url_encodeTable[word] == 1) { - CFX_ByteString bsUri = CFX_ByteString::FromUnicode((FX_WORD)word); - int nByte = bsUri.GetLength(); - for (int j = 0; j < nByte; j++) { - rUrl += '%'; - uint8_t code = bsUri.GetAt(j); - rUrl += arDigits[code >> 4]; - rUrl += arDigits[code & 0x0F]; - } - } else { - rUrl += CFX_ByteString::FromUnicode((FX_WORD)word); - } - } - return rUrl; -} -CFX_WideString FX_UrlDecode(const CFX_ByteString& bsUrl) { - CFX_ByteString rUrl; - int nLength = bsUrl.GetLength(); - for (int i = 0; i < nLength; i++) { - if (i < nLength - 2 && bsUrl[i] == '%' && FX_IsXDigit(bsUrl[i + 1]) && - FX_IsXDigit(bsUrl[i + 2])) { - rUrl += (FX_HexToI(bsUrl[i + 1]) << 4 | FX_HexToI(bsUrl[i + 2])); - i += 2; - } else { - rUrl += bsUrl[i]; - } - } - return CFX_WideString::FromLocal(rUrl); -} -CFX_ByteString FX_EncodeURI(const CFX_WideString& wsURI) { - const char arDigits[] = "0123456789ABCDEF"; - CFX_ByteString rURI; - CFX_ByteString bsUri = wsURI.UTF8Encode(); - int nLength = bsUri.GetLength(); - for (int i = 0; i < nLength; i++) { - uint8_t code = bsUri.GetAt(i); - if (code > 0x7F || url_encodeTable[code] == 1) { - rURI += '%'; - rURI += arDigits[code >> 4]; - rURI += arDigits[code & 0x0F]; - } else { - rURI += code; - } - } - return rURI; -} -CFX_WideString FX_DecodeURI(const CFX_ByteString& bsURI) { - CFX_ByteString rURI; - int nLength = bsURI.GetLength(); - for (int i = 0; i < nLength; i++) { - if (i < nLength - 2 && bsURI[i] == '%' && FX_IsXDigit(bsURI[i + 1]) && - FX_IsXDigit(bsURI[i + 2])) { - rURI += (FX_HexToI(bsURI[i + 1]) << 4 | FX_HexToI(bsURI[i + 2])); - i += 2; - } else { - rURI += bsURI[i]; - } - } - return CFX_WideString::FromUTF8(rURI, rURI.GetLength()); -} #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ class CFindFileData { public: |