YSTest: Native Encoding Conversion

YSTest PreAlpha_b800_20170810 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

函数 | 变量
Native Encoding Conversion

本机文本编码转换。

异常

  YSLib::LoggedEvent | 长度为负数或溢出 int 。

更多...

## 函数

YF_API string | platform_ex::Windows::MBCSToMBCS (string_view, unsigned=CP_UTF8, unsigned=CP_ACP)
YF_API wstring | platform_ex::Windows::MBCSToWCS (string_view, unsigned=CP_ACP)
YF_API string | platform_ex::Windows::WCSToMBCS (wstring_view, unsigned=CP_ACP)
const char *str | platform_ex::Windows::ImplRet (MBCSToWCS(str, CP_UTF8)) inline PDefH(wstring
const char *str string_view sv | platform_ex::Windows::ImplRet (MBCSToWCS(sv, CP_UTF8)) inline YB_NONNULL(1) PDefH(string
const char *str string_view sv const wchar_t *str | platform_ex::Windows::ImplRet (WCSToMBCS(str, CP_UTF8)) inline PDefH(string
const char *str string_view sv const wchar_t *str wstring_view sv | platform_ex::Windows::ImplRet (WCSToMBCS(sv, CP_UTF8)) YF_API YB_NONNULL(1) wstring FetchNLSItemFromRegistry(const wchar_t *)
| 取注册表中 NLS 键中指定名称的值。 更多...
| platform_ex::Windows::PDefH (wstring, FetchCPFileNameFromRegistry, int cp) ImplRet(FetchNLSItemFromRegistry(to_wstring(cp).c_str())) YF_API const unsigned short *FetchDBCSOffset(int) ynothrow
| 取注册表中指定代码页的 NLS 文件路径。 更多...

## 变量

YF_API | platform_ex::Windows::unsigned = CP_UTF8
| platform_ex::Windows::UTF8ToWCS
const char *str string_view sv | platform_ex::Windows::WCSToUTF8

## 详细描述

本机文本编码转换。

异常

  YSLib::LoggedEvent | 长度为负数或溢出 int 。

自从
  build 644

转换第一个 `unsigned` 参数指定编码的字符串为第二个 `unsigned` 参数指定的编码。

## 函数说明

const char* str platform_ex::Windows::ImplRet | ( | MBCSToWCS(str, CP_UTF8) |  | ) |

前置条件
  长度参数非零且不上溢 `int` 时间接断言：字符串指针参数非空。

const char* str string_view sv platform_ex::Windows::ImplRet | ( | MBCSToWCS(sv, CP_UTF8) |  | ) |

前置条件
  间接断言：字符串指针参数非空。

const char* str string_view sv const wchar_t* str platform_ex::Windows::ImplRet | ( | WCSToMBCS(str, CP_UTF8) |  | ) |

前置条件
  长度参数非零且不上溢 `int` 时间接断言：字符串指针参数非空。

const char* str string_view sv const wchar_t* str wstring_view sv platform_ex::Windows::ImplRet | ( | WCSToMBCS(sv, CP_UTF8) |  | ) | const

取注册表中 NLS 键中指定名称的值。

前置条件
  间接断言：字符串参数非空。

自从
  build 593

YF_API string platform_ex::Windows::MBCSToMBCS | ( | string_view | ,
|  | unsigned | = `CP_UTF8`,
|  | unsigned | = `CP_ACP`
| ) |  |

前置条件
  长度参数非零且不上溢 `int` 时间接断言：字符串指针参数非空。

YF_API wstring platform_ex::Windows::MBCSToWCS | ( | string_view | ,
|  | unsigned | = `CP_ACP`
| ) |  |

前置条件
  长度参数非零且不上溢 `int` 时间接断言：字符串指针参数非空。

platform_ex::Windows::PDefH | ( | wstring | ,
|  | FetchCPFileNameFromRegistry | ,
|  | int | cp
| ) |  | const

inline

取注册表中指定代码页的 NLS 文件路径。

自从
  build 593

取指定双字节字符集代码页的映射表。

返回
  成功则为映射表的起始指针，否则为空指针。

注解
  非双字节字符集视为失败。

自从
  build 552

YF_API string platform_ex::Windows::WCSToMBCS | ( | wstring_view | ,
|  | unsigned | = `CP_ACP`
| ) |  |

前置条件
  长度参数非零且不上溢 `int` 时间接断言：字符串指针参数非空。

platform_ex::Windows::YB_NONNULL | ( | 1 |  | ) | const

related

创建或打开独占的文件或设备。

检查参数指定的 MS-DOS 风格路径冒号。

生成别名校验和。

展开字符串中的环境变量。

读取重解析点内容。

前置条件
  间接断言：路径参数非空。

注解
  调用 `::CreateFileW` 实现。

自从
  build 632
  build 660

前置条件
  断言：参数非空。

异常

  Win32Exception | 打开文件失败。
  std::invalid_argument | 打开的文件不是重解析点。

  std::system_error

  重解析点检查失败。
  - std::errc::not_supported 重解析点标签不被支持。

自从
  build 660
  build 705

前置条件
  间接断言：参数非空。

异常

  Win32Exception | 调用失败。

自从
  build 658

前置条件
  间接断言：路径参数非空。

注解
  最后参数表示跟踪重解析点。

前置条件
  间接断言：路径参数非空。

注解
  即使可选参数都为空指针时仍访问文件。最后参数表示跟踪重解析点。

自从
  build 632

前置条件
  间接断言：路径参数非空。

注解
  即使可选参数都为空指针时仍访问文件。最后参数表示跟踪重解析点。

前置条件
  间接断言：字符串指针参数非空。

在文件 File.h 第 62 行定义.

参考 platform::MakePathString, ystdex::throw_error(), platform::uremove() , 以及 YB_UNLIKELY.

函数调用图:

## 变量说明

YF_API platform_ex::Windows::unsigned = CP_UTF8

在文件 NLS.h 第 52 行定义.

参考自 ystdex::iscntrl_C1(), ystdex::iscntrl_ISO8859_1(), ystdex::iscntrl_ISO8859_11(), ystdex::isprint_ISO8859_1(), ystdex::iswprint() , 以及 main().

const char *str platform_ex::Windows::UTF8ToWCS

在文件 NLS.h 第 72 行定义.

参考自 YSLib::TraceForOutermost() , 以及 platform::usystem().

const char *str string_view sv const wchar_t *str platform_ex::Windows::WCSToUTF8

在文件 NLS.h 第 79 行定义.

参考自 platform::MakePathString().