| 1 | #Region "Microsoft.VisualBasic::c2ca89034398b6487e9edc6607f9bff1, Microsoft.VisualBasic.Core\Text\ASCII.vb" |
| 2 | |
| 3 | ' Author: |
| 4 | ' |
| 5 | ' asuka (amethyst.asuka@gcmodeller.org) |
| 6 | ' xie (genetics@smrucc.org) |
| 7 | ' xieguigang (xie.guigang@live.com) |
| 8 | ' |
| 9 | ' Copyright (c) 2018 GPL3 Licensed |
| 10 | ' |
| 11 | ' |
| 12 | ' GNU GENERAL PUBLIC LICENSE (GPL3) |
| 13 | ' |
| 14 | ' |
| 15 | ' This program is free software: you can redistribute it and/or modify |
| 16 | ' it under the terms of the GNU General Public License as published by |
| 17 | ' the Free Software Foundation, either version 3 of the License, or |
| 18 | ' (at your option) any later version. |
| 19 | ' |
| 20 | ' This program is distributed in the hope that it will be useful, |
| 21 | ' but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 22 | ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 23 | ' GNU General Public License for more details. |
| 24 | ' |
| 25 | ' You should have received a copy of the GNU General Public License |
| 26 | ' along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 27 | |
| 28 | |
| 29 | |
| 30 | ' /********************************************************************************/ |
| 31 | |
| 32 | ' Summaries: |
| 33 | |
| 34 | ' Class ASCII |
| 35 | ' |
| 36 | ' Properties: AlphaNumericTable, Nonprintings, Symbols |
| 37 | ' |
| 38 | ' Function: IsASCIIString, ReplaceQuot, TrimNonPrintings |
| 39 | ' Class [Byte] |
| 40 | ' |
| 41 | ' Function: GetASCIISymbols |
| 42 | ' |
| 43 | ' |
| 44 | ' |
| 45 | ' |
| 46 | ' /********************************************************************************/ |
| 47 | |
| 48 | #End Region |
| 49 | |
| 50 | Imports System.Runtime.CompilerServices |
| 51 | Imports System.Text |
| 52 | Imports Microsoft.VisualBasic.Linq |
| 53 | Imports Microsoft.VisualBasic.Language |
| 54 | |
| 55 | Namespace Text |
| 56 | |
| 57 | ''' <summary> |
| 58 | ''' ``ASCII`` (``American Standard Code for Information Interchange``,美国信息互换标准代码,``ASCⅡ``) 是基于拉丁字母的一套电脑编码系统。 |
| 59 | ''' 它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准``ISO/IEC 646``。 |
| 60 | ''' ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示 |
| 61 | ''' (这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符, |
| 62 | ''' 控制字符的用途主要是用来操控已经处理过的文字,在33个字符之外的是95个可显示的字符,包含用键盘敲下空白键所产生的空白字符也算1个可显示字符 |
| 63 | ''' (显示为空白)。 |
| 64 | ''' </summary> |
| 65 | ''' <remarks>http://ascii.911cha.com/</remarks> |
| 66 | Public Class ASCII |
| 67 | |
| 68 | ''' <summary> |
| 69 | ''' 0000 0000 0 00 NUL 空字符(Null) |
| 70 | ''' </summary> |
| 71 | Public Const NUL As Char = Chr(0) |
| 72 | ''' <summary> |
| 73 | ''' 0000 0001 1 01 SOH 标题开始 |
| 74 | ''' </summary> |
| 75 | Public Const SOH As Char = Chr(1) |
| 76 | ''' <summary> |
| 77 | ''' 0000 0010 2 02 STX 本文开始 |
| 78 | ''' </summary> |
| 79 | Public Const STX As Char = Chr(2) |
| 80 | ''' <summary> |
| 81 | ''' 0000 0011 3 03 ETX 本文结束 |
| 82 | ''' </summary> |
| 83 | Public Const ETX As Char = Chr(3) |
| 84 | ''' <summary> |
| 85 | ''' 0000 0100 4 04 EOT 传输结束 |
| 86 | ''' </summary> |
| 87 | Public Const EOT As Char = Chr(4) |
| 88 | ''' <summary> |
| 89 | ''' 0000 0101 5 05 ENQ 请求 |
| 90 | ''' </summary> |
| 91 | Public Const ENQ As Char = Chr(5) |
| 92 | ''' <summary> |
| 93 | ''' 0000 0110 6 06 ACK 确认回应 |
| 94 | ''' </summary> |
| 95 | Public Const ACK As Char = Chr(6) |
| 96 | ''' <summary> |
| 97 | ''' 0000 0111 7 07 BEL 响铃 |
| 98 | ''' </summary> |
| 99 | Public Const BEL As Char = Chr(7) |
| 100 | ''' <summary> |
| 101 | ''' 0000 1000 8 08 BS 退格 |
| 102 | ''' </summary> |
| 103 | Public Const BS As Char = Chr(8) |
| 104 | ''' <summary> |
| 105 | ''' 0000 1001 9 09 HT 水平定位符号 |
| 106 | ''' </summary> |
| 107 | Public Const HT As Char = Chr(9) |
| 108 | ''' <summary> |
| 109 | ''' 0000 1010 10 0A LF 换行键 |
| 110 | ''' </summary> |
| 111 | Public Const LF As Char = Chr(10) |
| 112 | ''' <summary> |
| 113 | ''' 0000 1011 11 0B VT 垂直定位符号 |
| 114 | ''' </summary> |
| 115 | Public Const VT As Char = Chr(11) |
| 116 | ''' <summary> |
| 117 | ''' 0000 1100 12 0C FF 换页键 |
| 118 | ''' </summary> |
| 119 | Public Const FF As Char = Chr(12) |
| 120 | ''' <summary> |
| 121 | ''' 0000 1101 13 0D CR 归位键 |
| 122 | ''' </summary> |
| 123 | Public Const CR As Char = Chr(13) |
| 124 | ''' <summary> |
| 125 | ''' 0000 1110 14 0E SO 取消变换(Shift out) |
| 126 | ''' </summary> |
| 127 | Public Const SO As Char = Chr(14) |
| 128 | ''' <summary> |
| 129 | ''' 0000 1111 15 0F SI 启用变换(Shift in) |
| 130 | ''' </summary> |
| 131 | Public Const SI As Char = Chr(15) |
| 132 | ''' <summary> |
| 133 | ''' 0001 0000 16 10 DLE 跳出数据通讯 |
| 134 | ''' </summary> |
| 135 | Public Const DLE As Char = Chr(16) |
| 136 | ''' <summary> |
| 137 | ''' 0001 0001 17 11 DC1 设备控制一(XON 启用软件速度控制) |
| 138 | ''' </summary> |
| 139 | Public Const DC1 As Char = Chr(17) |
| 140 | ''' <summary> |
| 141 | ''' 0001 0010 18 12 DC2 设备控制二 |
| 142 | ''' </summary> |
| 143 | Public Const DC2 As Char = Chr(18) |
| 144 | ''' <summary> |
| 145 | ''' 0001 0011 19 13 DC3 设备控制三(XOFF 停用软件速度控制) |
| 146 | ''' </summary> |
| 147 | Public Const DC3 As Char = Chr(19) |
| 148 | ''' <summary> |
| 149 | ''' 0001 0100 20 14 DC4 设备控制四 |
| 150 | ''' </summary> |
| 151 | Public Const DC4 As Char = Chr(20) |
| 152 | ''' <summary> |
| 153 | ''' 0001 0101 21 15 NAK 确认失败回应 |
| 154 | ''' </summary> |
| 155 | Public Const NAK As Char = Chr(21) |
| 156 | ''' <summary> |
| 157 | ''' 0001 0110 22 16 SYN 同步用暂停 |
| 158 | ''' </summary> |
| 159 | Public Const SYN As Char = Chr(22) |
| 160 | ''' <summary> |
| 161 | ''' 0001 0111 23 17 ETB 区块传输结束 |
| 162 | ''' </summary> |
| 163 | Public Const ETB As Char = Chr(23) |
| 164 | ''' <summary> |
| 165 | ''' 0001 1000 24 18 CAN 取消 |
| 166 | ''' </summary> |
| 167 | Public Const CAN As Char = Chr(24) |
| 168 | ''' <summary> |
| 169 | ''' 0001 1001 25 19 EM 连接介质中断 |
| 170 | ''' </summary> |
| 171 | Public Const EM As Char = Chr(25) |
| 172 | ''' <summary> |
| 173 | ''' 0001 1010 26 1A SUB 替换 |
| 174 | ''' </summary> |
| 175 | Public Const [SUB] As Char = Chr(26) |
| 176 | ''' <summary> |
| 177 | ''' 0001 1011 27 1B ESC 跳出 |
| 178 | ''' </summary> |
| 179 | Public Const ESC As Char = Chr(27) |
| 180 | ''' <summary> |
| 181 | ''' 0001 1100 28 1C FS 文件分割符 |
| 182 | ''' </summary> |
| 183 | Public Const FS As Char = Chr(28) |
| 184 | ''' <summary> |
| 185 | ''' 0001 1101 29 1D GS 组群分隔符 |
| 186 | ''' </summary> |
| 187 | Public Const GS As Char = Chr(29) |
| 188 | ''' <summary> |
| 189 | ''' 0001 1110 30 1E RS 记录分隔符 |
| 190 | ''' </summary> |
| 191 | Public Const RS As Char = Chr(30) |
| 192 | ''' <summary> |
| 193 | ''' 0001 1111 31 1F US 单元分隔符 |
| 194 | ''' </summary> |
| 195 | Public Const US As Char = Chr(31) |
| 196 | ''' <summary> |
| 197 | ''' 0111 1111 127 7F DEL 删除 |
| 198 | ''' </summary> |
| 199 | Public Const DEL As Char = Chr(127) |
| 200 | |
| 201 | ''' <summary> |
| 202 | ''' 非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列: |
| 203 | ''' |
| 204 | ''' ##### 转义序列 |
| 205 | ''' |
| 206 | ''' |字符|含义| |
| 207 | ''' |---|----| |
| 208 | ''' |\cx|匹配 x 指示的控制字符。例如,\cM 匹配 Control-M 或回车符。x 的值必须在 A-Z 或 a-z 之间。如果不是这样,则假定 c 就是“c”字符本身。| |
| 209 | ''' |\f |换页符匹配。等效于 \x0c 和 \cL。| |
| 210 | ''' |\n |换行符匹配。等效于 \x0a 和 \cJ。| |
| 211 | ''' |\r |匹配一个回车符。等效于 \x0d 和 \cM。| |
| 212 | ''' |\s |匹配任何空白字符,包括空格、制表符、换页符等。与 [\f\n\r\t\v] 等效。| |
| 213 | ''' |\S |匹配任何非空白字符。与 [^ \f\n\r\t\v] 等效。| |
| 214 | ''' |\t |制表符匹配。与 \x09 和 \cI 等效。| |
| 215 | ''' |\v |垂直制表符匹配。与 \x0b 和 \cK 等效。| |
| 216 | ''' </summary> |
| 217 | ''' <returns></returns> |
| 218 | Public Shared ReadOnly Property Nonprintings As Char() = { |
| 219 | ASCII.ACK, |
| 220 | ASCII.BEL, |
| 221 | ASCII.BS, |
| 222 | ASCII.CAN, |
| 223 | ASCII.DC1, |
| 224 | ASCII.DC2, |
| 225 | ASCII.DC3, |
| 226 | ASCII.DC4, |
| 227 | ASCII.DEL, |
| 228 | ASCII.DLE, |
| 229 | ASCII.EM, |
| 230 | ASCII.ENQ, |
| 231 | ASCII.EOT, |
| 232 | ASCII.ESC, |
| 233 | ASCII.ETB, |
| 234 | ASCII.ETX, |
| 235 | ASCII.FF, |
| 236 | ASCII.FS, |
| 237 | ASCII.GS, |
| 238 | ASCII.HT, |
| 239 | ASCII.NAK, |
| 240 | ASCII.NUL, |
| 241 | ASCII.RS, |
| 242 | ASCII.SI, |
| 243 | ASCII.SO, |
| 244 | ASCII.SOH, |
| 245 | ASCII.STX, |
| 246 | ASCII.SUB, |
| 247 | ASCII.SYN, |
| 248 | ASCII.US, |
| 249 | ASCII.VT |
| 250 | } |
| 251 | |
| 252 | ''' <summary> |
| 253 | ''' <see cref="vbTab"/> |
| 254 | ''' </summary> |
| 255 | Public Const TAB As Char = CChar(vbTab) |
| 256 | |
| 257 | ''' <summary> |
| 258 | ''' 双引号``"`` |
| 259 | <span class="xml_comment">''' </summary></span> |
| 260 | Public Const Quot As Char = Chr(34) |
| 261 | Public Shared ReadOnly QuotBegin_ZHCN As Char = Convert.ToChar(8220) |
| 262 | Public Shared ReadOnly QuotEnds_ZHCN As Char = Convert.ToChar(8221) |
| 263 | Public Const QuotUnknown As Char = "″"c |
| 264 | |
| 265 | Public Const A As Integer = Asc("A"c) |
| 266 | Public Const Z As Integer = Asc("Z"c) |
| 267 | Public Const al% = Asc("a"c) |
| 268 | Public Const zl% = Asc("z"c) |
| 269 | |
| 270 | <span class="xml_comment">''' <summary></span> |
| 271 | <span class="xml_comment">''' </span>ASCII code for number ``0`` |
| 272 | <span class="xml_comment">''' </summary></span> |
| 273 | Public Const n0% = Asc("0"c) |
| 274 | <span class="xml_comment">''' <summary></span> |
| 275 | <span class="xml_comment">''' </span>ASCII code for number ``9`` |
| 276 | <span class="xml_comment">''' </summary></span> |
| 277 | Public Const n9% = Asc("9"c) |
| 278 | |
| 279 | <span class="xml_comment">''' <summary></span> |
| 280 | <span class="xml_comment">''' </span>单引号 |
| 281 | <span class="xml_comment">''' </summary></span> |
| 282 | Public Const Mark As Char = "'"c |
| 283 | |
| 284 | Public Shared Function TrimNonPrintings(s$) As String |
| 285 | For Each c As Char In Nonprintings |
| 286 | Call s.Trim(c, "") |
| 287 | Next |
| 288 | |
| 289 | Return s |
| 290 | End Function |
| 291 | |
| 292 | <span class="xml_comment">''' <summary></span> |
| 293 | <span class="xml_comment">''' </span>分别替换英文双引号,中文双引号为指定的字符串 |
| 294 | <span class="xml_comment">''' </summary></span> |
| 295 | <span class="xml_comment">''' </span><param name="s"></param> |
| 296 | <span class="xml_comment">''' </span><param name="replace"></param> |
| 297 | <span class="xml_comment">''' </span><returns></returns> |
| 298 | Public Shared Function ReplaceQuot(s As String, Optional replace As String = "'") As String |
| 299 | Dim sb As New StringBuilder(s) |
| 300 | |
| 301 | Call sb.Replace(ASCII.Quot, replace) |
| 302 | Call sb.Replace(ASCII.QuotBegin_ZHCN, replace) |
| 303 | Call sb.Replace(ASCII.QuotEnds_ZHCN, replace) |
| 304 | Call sb.Replace(ASCII.QuotUnknown, replace) |
| 305 | |
| 306 | Return sb.ToString |
| 307 | End Function |
| 308 | |
| 309 | <MethodImpl(MethodImplOptions.AggressiveInlining)> |
| 310 | Public Shared Function IsASCIIString(str As String) As Boolean |
| 311 | Return Not str.Any(Function(c) Asc(c) > 128) |
| 312 | End Function |
| 313 | |
| 314 | <span class="xml_comment">''' <summary></span> |
| 315 | <span class="xml_comment">''' </span>Symbols without white space.(可以印刷的ASCII符号列表) |
| 316 | <span class="xml_comment">''' </summary></span> |
| 317 | <span class="xml_comment">''' </span><returns></returns> |
| 318 | Public Shared ReadOnly Property Symbols As Char() = ASCII.Byte.GetASCIISymbols().Select(AddressOf Chr).ToArray |
| 319 | Public Shared ReadOnly Property AlphaNumericTable As New Dictionary(Of Char, Integer)() From { |
| 320 | {"0"c, 0}, {"1"c, 1}, {"2"c, 2}, {"3"c, 3}, {"4"c, 4}, |
| 321 | {"5"c, 5}, {"6"c, 6}, {"7"c, 7}, {"8"c, 8}, {"9"c, 9}, |
| 322 | {"A"c, 10}, {"B"c, 11}, {"C"c, 12}, {"D"c, 13}, {"E"c, 14}, {"F"c, 15}, {"G"c, 16}, |
| 323 | {"H"c, 17}, {"I"c, 18}, {"J"c, 19}, {"K"c, 20}, {"L"c, 21}, {"M"c, 22}, {"N"c, 23}, |
| 324 | {"O"c, 24}, {"P"c, 25}, {"Q"c, 26}, |
| 325 | {"R"c, 27}, {"S"c, 28}, {"T"c, 29}, |
| 326 | {"U"c, 30}, {"V"c, 31}, {"W"c, 32}, |
| 327 | {"X"c, 33}, {"Y"c, 34}, {"Z"c, 35}, |
| 328 | {" "c, 36}, |
| 329 | {"$"c, 37}, |
| 330 | {"%"c, 38}, |
| 331 | {"*"c, 39}, |
| 332 | {"+"c, 40}, |
| 333 | {"-"c, 41}, |
| 334 | {"."c, 42}, |
| 335 | {"/"c, 43}, |
| 336 | {":"c, 44} |
| 337 | } |
| 338 | |
| 339 | Public Class [Byte] |
| 340 | |
| 341 | Public Shared Function GetASCIISymbols() As Integer() |
| 342 | Dim code As New List(Of Integer) |
| 343 | |
| 344 | code += {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47} |
| 345 | code += {58, 59, 60, 61, 62, 63, 64} |
| 346 | code += {91, 92, 93, 94, 95, 96} |
| 347 | code += {123, 124, 125, 126} |
| 348 | |
| 349 | Return code |
| 350 | End Function |
| 351 | |
| 352 | ''' <summary> |
| 353 | ''' 0000 0000 0 00 NUL 空字符(Null) |
| 354 | ''' </summary> |
| 355 | Public Const NUL As Integer = 0 |
| 356 | ''' <summary> |
| 357 | ''' 0000 0001 1 01 SOH 标题开始 |
| 358 | ''' </summary> |
| 359 | Public Const SOH As Integer = 1 |
| 360 | ''' <summary> |
| 361 | ''' 0000 0010 2 02 STX 本文开始 |
| 362 | ''' </summary> |
| 363 | Public Const STX As Integer = 2 |
| 364 | ''' <summary> |
| 365 | ''' 0000 0011 3 03 ETX 本文结束 |
| 366 | ''' </summary> |
| 367 | Public Const ETX As Integer = 3 |
| 368 | ''' <summary> |
| 369 | ''' 0000 0100 4 04 EOT 传输结束 |
| 370 | ''' </summary> |
| 371 | Public Const EOT As Integer = 4 |
| 372 | ''' <summary> |
| 373 | ''' 0000 0101 5 05 ENQ 请求 |
| 374 | ''' </summary> |
| 375 | Public Const ENQ As Integer = 5 |
| 376 | ''' <summary> |
| 377 | ''' 0000 0110 6 06 ACK 确认回应 |
| 378 | ''' </summary> |
| 379 | Public Const ACK As Integer = 6 |
| 380 | ''' <summary> |
| 381 | ''' 0000 0111 7 07 BEL 响铃 |
| 382 | ''' </summary> |
| 383 | Public Const BEL As Integer = 7 |
| 384 | ''' <summary> |
| 385 | ''' 0000 1000 8 08 BS 退格 |
| 386 | ''' </summary> |
| 387 | Public Const BS As Integer = 8 |
| 388 | ''' <summary> |
| 389 | ''' 0000 1001 9 09 HT 水平定位符号 |
| 390 | ''' </summary> |
| 391 | Public Const HT As Integer = 9 |
| 392 | ''' <summary> |
| 393 | ''' 0000 1010 10 0A LF 换行键 |
| 394 | ''' </summary> |
| 395 | Public Const LF As Integer = 10 |
| 396 | ''' <summary> |
| 397 | ''' 0000 1011 11 0B VT 垂直定位符号 |
| 398 | ''' </summary> |
| 399 | Public Const VT As Integer = 11 |
| 400 | ''' <summary> |
| 401 | ''' 0000 1100 12 0C FF 换页键 |
| 402 | ''' </summary> |
| 403 | Public Const FF As Integer = 12 |
| 404 | ''' <summary> |
| 405 | ''' 0000 1101 13 0D CR 归位键 |
| 406 | ''' </summary> |
| 407 | Public Const CR As Integer = 13 |
| 408 | ''' <summary> |
| 409 | ''' 0000 1110 14 0E SO 取消变换(Shift out) |
| 410 | ''' </summary> |
| 411 | Public Const SO As Integer = 14 |
| 412 | ''' <summary> |
| 413 | ''' 0000 1111 15 0F SI 启用变换(Shift in) |
| 414 | ''' </summary> |
| 415 | Public Const SI As Integer = 15 |
| 416 | ''' <summary> |
| 417 | ''' 0001 0000 16 10 DLE 跳出数据通讯 |
| 418 | ''' </summary> |
| 419 | Public Const DLE As Integer = 16 |
| 420 | ''' <summary> |
| 421 | ''' 0001 0001 17 11 DC1 设备控制一(XON 启用软件速度控制) |
| 422 | ''' </summary> |
| 423 | Public Const DC1 As Integer = 17 |
| 424 | ''' <summary> |
| 425 | ''' 0001 0010 18 12 DC2 设备控制二 |
| 426 | ''' </summary> |
| 427 | Public Const DC2 As Integer = 18 |
| 428 | ''' <summary> |
| 429 | ''' 0001 0011 19 13 DC3 设备控制三(XOFF 停用软件速度控制) |
| 430 | ''' </summary> |
| 431 | Public Const DC3 As Integer = 19 |
| 432 | ''' <summary> |
| 433 | ''' 0001 0100 20 14 DC4 设备控制四 |
| 434 | ''' </summary> |
| 435 | Public Const DC4 As Integer = 20 |
| 436 | ''' <summary> |
| 437 | ''' 0001 0101 21 15 NAK 确认失败回应 |
| 438 | ''' </summary> |
| 439 | Public Const NAK As Integer = 21 |
| 440 | ''' <summary> |
| 441 | ''' 0001 0110 22 16 SYN 同步用暂停 |
| 442 | ''' </summary> |
| 443 | Public Const SYN As Integer = 22 |
| 444 | ''' <summary> |
| 445 | ''' 0001 0111 23 17 ETB 区块传输结束 |
| 446 | ''' </summary> |
| 447 | Public Const ETB As Integer = 23 |
| 448 | ''' <summary> |
| 449 | ''' 0001 1000 24 18 CAN 取消 |
| 450 | ''' </summary> |
| 451 | Public Const CAN As Integer = 24 |
| 452 | ''' <summary> |
| 453 | ''' 0001 1001 25 19 EM 连接介质中断 |
| 454 | ''' </summary> |
| 455 | Public Const EM As Integer = 25 |
| 456 | ''' <summary> |
| 457 | ''' 0001 1010 26 1A SUB 替换 |
| 458 | ''' </summary> |
| 459 | Public Const [SUB] As Integer = 26 |
| 460 | ''' <summary> |
| 461 | ''' 0001 1011 27 1B ESC 跳出 |
| 462 | ''' </summary> |
| 463 | Public Const ESC As Integer = 27 |
| 464 | ''' <summary> |
| 465 | ''' 0001 1100 28 1C FS 文件分割符 |
| 466 | ''' </summary> |
| 467 | Public Const FS As Integer = 28 |
| 468 | ''' <summary> |
| 469 | ''' 0001 1101 29 1D GS 组群分隔符 |
| 470 | ''' </summary> |
| 471 | Public Const GS As Integer = 29 |
| 472 | ''' <summary> |
| 473 | ''' 0001 1110 30 1E RS 记录分隔符 |
| 474 | ''' </summary> |
| 475 | Public Const RS As Integer = 30 |
| 476 | ''' <summary> |
| 477 | ''' 0001 1111 31 1F US 单元分隔符 |
| 478 | ''' </summary> |
| 479 | Public Const US As Integer = 31 |
| 480 | ''' <summary> |
| 481 | ''' 0111 1111 127 7F DEL 删除 |
| 482 | ''' </summary> |
| 483 | Public Const DEL As Integer = 127 |
| 484 | |
| 485 | ''' <summary> |
| 486 | ''' <see cref="vbTab"/> |
| 487 | ''' </summary> |
| 488 | Public Const TAB As Integer = Asc(vbTab) |
| 489 | |
| 490 | End Class |
| 491 | End Class |
| 492 | End Namespace |