最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

批處理ASCII字符比較大小實(shí)際次序表

 更新時(shí)間:2021年09月16日 10:34:34   作者:neorobin  
在批處理中進(jìn)行 ASCII 字符串大小比較, 本來(lái)想當(dāng)然的以為其大小依據(jù)是 ASCII 字符碼值, 可事實(shí)并非如此,下面就為大家分享一下

在批處理中進(jìn)行 ASCII 字符串大小比較, 本來(lái)想當(dāng)然的以為其大小依據(jù)是 ASCII 字符碼值, 可事實(shí)并非如此.

以下是一個(gè) ASCII 可見(jiàn)字符(碼值從 32 到 126) 共 95 個(gè)字符 在批處理字符串比較中的實(shí)際次序表, 編號(hào)從 00 到 94, 編號(hào)越小, 字符也越小.

觀察此表, 總體次序 部分性地和 ASCII 次序相符. 有以下的幾個(gè)特點(diǎn):

① 所有的 標(biāo)點(diǎn)符號(hào) 在 數(shù)字字符 的前面; 所有的 數(shù)字字符 在 字母的前面;
② 數(shù)字字符中, 按對(duì)應(yīng)數(shù)字值大小排序;
③ 字母中, 不同的字母比較, 不論其大小寫(xiě), 而只以在字母表中的次序排大小;
④ 同一個(gè)字母, 小寫(xiě)的小于大寫(xiě)的.
⑤ 成對(duì)的 標(biāo)點(diǎn)符號(hào), 左邊的在前, 右邊的在后. 即: (小于), [小于], {小于}, <小于>

ASCII 可見(jiàn)字符(碼值從 32 到 126)批處理比較實(shí)際次序表

00:{ }
01:{'}
02:{-}
03:{!}
04:{"}
05:{#}
06:{$}
07:{%}
08:{&}
09:{(}
10:{)}
11:{*}
12:{,}
13:{.}
14:{/}
15:{:}
16:{;}
17:{?}
18:{@}
19:{[}
20:{\}
21:{]}
22:{^}
23:{_}
24:{`}
25:{{}
26:{|}
27:{}}
28:{~}
29:{+}
30:{<}
31:{=}
32:{>}
33:{0}
34:{1}
35:{2}
36:{3}
37:{4}
38:{5}
39:{6}
40:{7}
41:{8}
42:{9}
43:{a}
44:{A}
45:
46:{B}
47:{c}
48:{C}
49:wppm3vysvbp
50:{D}
51:{e}
52:{E}
53:{f}
54:{F}
55:{g}
56:{G}
57:{h}
58:{H}
59:{i}
60:{I}
61:{j}
62:{J}
63:{k}
64:{K}
65:{l}
66:{L}
67:{m}
68:{M}
69:{n}
70:{N}
71:{o}
72:{O}
73:{p}
74:{P}
75:{q}
76:{Q}
77:{r}
78:{R}
79:{s}
80:{S}
81:{t}
82:{T}
83:{u}
84:{U}
85:{v}
86:{V}
87:{w}
88:{W}
89:{x}
90:{X}
91:{y}
92:{Y}
93:{z}
94:{Z}

以下是生成此表的代碼, 首先生成不包含 半角感嘆號(hào) ! 的 94 個(gè)字符的次序表, 然后根據(jù)幾個(gè)簡(jiǎn)單比較得出 半角感嘆號(hào) 在表中的位置.
表生成代碼中, 字符排序采用選擇排序法. 字符串初始化中, 對(duì)特殊字符進(jìn)行了轉(zhuǎn)義:
用前導(dǎo)上角號(hào) ^ 轉(zhuǎn)義的有 8 個(gè)特殊字符: "&()<>^|
另外 百分號(hào) % 用自身雙寫(xiě)進(jìn)行轉(zhuǎn)義.

生成除 半角感嘆號(hào) ! 外 94 個(gè)字符次序表的代碼(代碼中開(kāi)啟了 延遲的環(huán)境變量擴(kuò)展, 簡(jiǎn)化代碼起見(jiàn), 故將 ! 單獨(dú)處理)

@echo off & setlocal enabledelayedexpansion & cls
(set chrs=^"#$%%^&'^(^)*+,-./01234 56789:;^<=^>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghijklmnopqrstuvwxyz{^|}~)
echo 這是一個(gè)由 ASCII 碼值 32--126 ^(除了半角感嘆號(hào)外^) 共 94 個(gè)字符組成的字符串:
echo %chrs%
set /p=按任意鍵查看對(duì)這 94 個(gè)字符進(jìn)行初始編號(hào)...<nul&pause>nul&echo.
for /l %%i in (0,1,93) do (
  (set cc%%i=!chrs:~%%i,1!)
  set /a "ii=100+%%i"
  echo !ii:~1!:{!cc%%i!}
)
set /p=按任意鍵查看對(duì)這 94 個(gè)字符進(jìn)行排序后的次序表...<nul&pause>nul&echo.
for /l %%i in (0,1,92) do (
  set /a "min=%%i, n=%%i+1"
  (set minChr=!cc%%i!)
  for /l %%j in (!n!,1,93) do (
    if "!cc%%j!" lss "!minChr!" (
	  (set min=%%j)
	  (set minChr=!cc%%j!)
	 )
  )
  for /f "tokens=1" %%m in ("!min!") do (
    (set tt=!cc%%i!)
	(set cc%%i=!cc%%m!)
	(set cc%%m=!tt!)
  )
)
for /l %%i in (0,1,93) do (
  set /a "ii=100+%%i"
  echo !ii:~1!:{!cc%%i!}
)
set /p=按任意鍵查看插入半角感嘆號(hào)后, 95 個(gè)字符的全次序表...<nul&pause>nul&echo.
for /l %%i in (93,-1,3) do (
  set /a "jj=%%i+1"
  for /f "tokens=1" %%j in ("!jj!") do (set cc%%j=!cc%%i!)
)
setlocal disabledelayedexpansion
(set cc3=!)
setlocal enabledelayedexpansion
for /l %%i in (0,1,94) do (
  set /a "ii=100+%%i"
  echo !ii:~1!:{!cc%%i!}
)
pause
exit /b

關(guān)閉延遲的環(huán)境變量擴(kuò)展條件下 確定 半角感嘆號(hào) ! 在表中的位置的代碼

if ! lss # (echo lll) else echo ggg

輸出 lll 表明 ! 小于 #

if ! lss - (echo lll) else echo ggg

輸出 ggg 表明 ! 大于 -
- 和 # 之間只剩下一個(gè)雙引號(hào) " 感嘆號(hào) ! 和雙引號(hào) " 的大小關(guān)系又如何:

if ^! lss ^" (echo lll) else echo ggg

輸出 lll

if ^! gtr ^" (echo ggg) else echo lll

輸出 lll

if ^! equ ^" (echo ==) else echo ≠

輸出 ≠

以上表明 感嘆號(hào) ! 是小于雙引號(hào) " 的, 所以感嘆號(hào)在表中的編號(hào)應(yīng)是 03, 而雙引號(hào)及后面的所有字符編號(hào)全部加1.

到此這篇關(guān)于批處理ASCII字符比較大小實(shí)際次序表的文章就介紹到這了,更多相關(guān)ASCII字符比較大小內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

海晏县| 柳河县| 旅游| 晋州市| 循化| 双峰县| 新巴尔虎左旗| 曲麻莱县| 庆安县| 临朐县| 二连浩特市| 得荣县| 临清市| 鄂托克前旗| 贵州省| 综艺| 安阳县| 郑州市| 新民市| 洛宁县| 新疆| 息烽县| 尼勒克县| 泊头市| 北辰区| 台州市| 昂仁县| 阳信县| 潢川县| 文山县| 仁怀市| 尤溪县| 保山市| 南丰县| 红河县| 巴南区| 游戏| 稻城县| 东宁县| 苗栗县| 壤塘县|