⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 euc

📁 C语言库函数的原型,有用的拿去
💻
📖 第 1 页 / 共 5 页
字号:
// euc -- one- or two-byte/wide-character tables
 #pragma once

#ifndef _CVT_EUC_
#ifndef RC_INVOKED
 #define _CVT_EUC_
// 
// 	Name:             JIS X 0201 (1976) to Unicode 1.1 Table
// 	Unicode version:  1.1
// 	Table version:    0.9
// 	Table format:     Format A
// 	Date:             8 March 1994
// 
// 	Copyright (c) 1991-1994 Unicode, Inc.  All Rights reserved.
// 
// 	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
// 	No claims are made as to fitness for any particular purpose.  No
// 	warranties of any kind are expressed or implied.  The recipient
// 	agrees to determine applicability of information provided.  If this
// 	file has been provided on magnetic media by Unicode, Inc., the sole
// 	remedy for any claim will be exchange of defective media within 90
// 	days of receipt.
// 
// 	Recipient is granted the right to make copies in any form for
// 	internal distribution and to freely use the information supplied
// 	in the creation of products supporting Unicode.  Unicode, Inc.
// 	specifically excludes the right to re-distribute this file directly
// 	to third parties or other organizations whether for profit or not.
// 
// 	General notes:
// 
// 
//  This table contains one set of mappings from JIS X 0201 into Unicode.
//  Note that these data are *possible* mappings only and may not be the
//  same as those used by actual products, nor may they be the best suited
//  for all uses.  For more information on the mappings between various code
//  pages incorporating the repertoire of JIS X 0201 and Unicode, consult the
//  VENDORS mapping data.  Normative information on the mapping between
//  JIS X 0201 and Unicode may be found in the Unihan.txt file in the
//  latest Unicode Character Database.
// 
//  If you have carefully considered the fact that the mappings in
//  this table are only one possible set of mappings between JIS X 0201 and
//  Unicode and have no normative status, but still feel that you
//  have located an error in the table that requires fixing, you may
//  report any such error to errata@unicode.org.
// 
// 
// 	Format:  Three tab-separated columns
// 		Column #1 is the shift JIS code (in hex as 0xXX)
// 		Column #2 is the Unicode (in hex as 0xXXXX)
// 		Column #3 the Unicode (ISO 10646) name (follows a comment sign)
// 
// 	The entries are in JIS order
// 
// 
// 
// 	Name:             JIS X 0208 (1990) to Unicode
// 	Unicode version:  1.1
// 	Table version:    0.9
// 	Table format:     Format A
// 	Date:             8 March 1994
// 
// 	Copyright (c) 1991-1994 Unicode, Inc.  All Rights reserved.
// 
// 	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
// 	No claims are made as to fitness for any particular purpose.  No
// 	warranties of any kind are expressed or implied.  The recipient
// 	agrees to determine applicability of information provided.  If this
// 	file has been provided on magnetic media by Unicode, Inc., the sole
// 	remedy for any claim will be exchange of defective media within 90
// 	days of receipt.
// 
// 	Recipient is granted the right to make copies in any form for
// 	internal distribution and to freely use the information supplied
// 	in the creation of products supporting Unicode.  Unicode, Inc.
// 	specifically excludes the right to re-distribute this file directly
// 	to third parties or other organizations whether for profit or not.
// 
// 	General notes:
// 
// 
//  This table contains one set of mappings from JIS X 0208 (1990) into Unicode.
//  Note that these data are *possible* mappings only and may not be the
//  same as those used by actual products, nor may they be the best suited
//  for all uses.  For more information on the mappings between various code
//  pages incorporating the repertoire of JIS X 0208 (1990) and Unicode, consult the
//  VENDORS mapping data.  Normative information on the mapping between
//  JIS X 0208 (1990) and Unicode may be found in the Unihan.txt file in the
//  latest Unicode Character Database.
// 
//  If you have carefully considered the fact that the mappings in
//  this table are only one possible set of mappings between JIS X 0208 (1990)
//  and Unicode and have no normative status, but still feel that you
//  have located an error in the table that requires fixing, you may
//  report any such error to errata@unicode.org.
// 
// 
// 	Format:  Four tab-separated columns
// 		 Column #1 is the shift-JIS code (in hex)
// 		 Column #2 is the JIS X 0208 code (in hex as 0xXXXX)
// 		 Column #3 is the Unicode (in hex as 0xXXXX)
// 		 Column #4 the Unicode name (follows a comment sign, '#')
// 			The official names for Unicode characters U+4E00
// 			to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
// 			where XXXX is the code point.  Including all these
// 			names in this file increases its size substantially
// 			and needlessly.  The token "<CJK>" is used for the
// 			name of these characters.  If necessary, it can be
// 			expanded algorithmically by a parser or editor.
// 
// 	The entries are in JIS X 0208 order
// 
// 	The following algorithms can be used to change the hex form
// 		of JIS 0208 to other standard forms:
// 
// 		To change hex to EUC form, add 0x8080
// 		To change hex to kuten form, first subtract 0x2020.  Then
// 			the high and low bytes correspond to the ku and ten of
// 			the kuten form.  For example, 0x2121 -> 0x0101 -> 0101;
// 			0x7426 -> 0x5406 -> 8406
// 
//    The kanji mappings are a normative part of ISO/IEC 10646.  The
//        non-kanji mappings are provisional, pending definition of
//        official mappings by Japanese standards bodies
// 
// 	Any comments or problems, contact <John_Jenkins@taligent.com>
// 
// 
#include <cvt/xtwo_byte>

 #pragma pack(push,_CRT_PACKING)
 #pragma warning(push,3)

namespace stdext {
	namespace cvt {
template<class _Dummy>
	struct _tab_euc {
	enum {
		_Nlow = 0x5c,
		_Nbytes = 2};
	static const unsigned short _Btw[0xa4];
	static const unsigned short _Dbvalid[0x1b1e];
	static const unsigned short _Dbtw[0x1b1e];
	static const unsigned short _Wvalid[0x1b20];
	static const unsigned short _Wtb[0x1b20];
	};

template<class _Dummy>
	const unsigned short _tab_euc<_Dummy>::_Btw[0xa4] =
	{	/* map single bytes to words */
 0x00a5, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063,
 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073,
 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b,
 0x007c, 0x007d, 0x203e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 0x0000, 0x0000, 0x0000, 0x0000};

template<class _Dummy>
	const unsigned short _tab_euc<_Dummy>::_Dbvalid[0x1b1e] =
	{	/* double bytes that map to words */
 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7, 0x8ea8,
 0x8ea9, 0x8eaa, 0x8eab, 0x8eac, 0x8ead, 0x8eae, 0x8eaf, 0x8eb0,
 0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7, 0x8eb8,
 0x8eb9, 0x8eba, 0x8ebb, 0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0,
 0x8ec1, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8,
 0x8ec9, 0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf, 0x8ed0,
 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7, 0x8ed8,
 0x8ed9, 0x8eda, 0x8edb, 0x8edc, 0x8edd, 0x8ede, 0x8edf, 0xa1a1,
 0xa1a2, 0xa1a3, 0xa1a4, 0xa1a5, 0xa1a6, 0xa1a7, 0xa1a8, 0xa1a9,
 0xa1aa, 0xa1ab, 0xa1ac, 0xa1ad, 0xa1ae, 0xa1af, 0xa1b0, 0xa1b1,
 0xa1b2, 0xa1b3, 0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9,
 0xa1ba, 0xa1bb, 0xa1bc, 0xa1bd, 0xa1be, 0xa1bf, 0xa1c0, 0xa1c1,
 0xa1c2, 0xa1c3, 0xa1c4, 0xa1c5, 0xa1c6, 0xa1c7, 0xa1c8, 0xa1c9,
 0xa1ca, 0xa1cb, 0xa1cc, 0xa1cd, 0xa1ce, 0xa1cf, 0xa1d0, 0xa1d1,
 0xa1d2, 0xa1d3, 0xa1d4, 0xa1d5, 0xa1d6, 0xa1d7, 0xa1d8, 0xa1d9,
 0xa1da, 0xa1db, 0xa1dc, 0xa1dd, 0xa1de, 0xa1df, 0xa1e0, 0xa1e1,
 0xa1e2, 0xa1e3, 0xa1e4, 0xa1e5, 0xa1e6, 0xa1e7, 0xa1e8, 0xa1e9,
 0xa1ea, 0xa1eb, 0xa1ec, 0xa1ed, 0xa1ee, 0xa1ef, 0xa1f0, 0xa1f1,
 0xa1f2, 0xa1f3, 0xa1f4, 0xa1f5, 0xa1f6, 0xa1f7, 0xa1f8, 0xa1f9,
 0xa1fa, 0xa1fb, 0xa1fc, 0xa1fd, 0xa1fe, 0xa2a1, 0xa2a2, 0xa2a3,
 0xa2a4, 0xa2a5, 0xa2a6, 0xa2a7, 0xa2a8, 0xa2a9, 0xa2aa, 0xa2ab,
 0xa2ac, 0xa2ad, 0xa2ae, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be,
 0xa2bf, 0xa2c0, 0xa2c1, 0xa2ca, 0xa2cb, 0xa2cc, 0xa2cd, 0xa2ce,
 0xa2cf, 0xa2d0, 0xa2dc, 0xa2dd, 0xa2de, 0xa2df, 0xa2e0, 0xa2e1,
 0xa2e2, 0xa2e3, 0xa2e4, 0xa2e5, 0xa2e6, 0xa2e7, 0xa2e8, 0xa2e9,
 0xa2ea, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7, 0xa2f8,
 0xa2f9, 0xa2fe, 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5,
 0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4,
 0xa3c5, 0xa3c6, 0xa3c7, 0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc,
 0xa3cd, 0xa3ce, 0xa3cf, 0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4,
 0xa3d5, 0xa3d6, 0xa3d7, 0xa3d8, 0xa3d9, 0xa3da, 0xa3e1, 0xa3e2,
 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7, 0xa3e8, 0xa3e9, 0xa3ea,
 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef, 0xa3f0, 0xa3f1, 0xa3f2,
 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7, 0xa3f8, 0xa3f9, 0xa3fa,
 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7, 0xa4a8,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -