[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
29# hanyeguxing


复杂,期待深入的解答

TOP

本帖最后由 techon 于 2011-5-15 10:48 编辑
  1. "" ascii=1
  2. "" ascii=2
  3. "" ascii=3
  4. "" ascii=4
  5. "" ascii=5
  6. "" ascii=6
  7. "" ascii=7
  8. "" ascii=8
  9. "" ascii=14
  10. "" ascii=15
  11. "" ascii=16
  12. "" ascii=17
  13. "" ascii=18
  14. "" ascii=19
  15. "" ascii=20
  16. "" ascii=21
  17. "" ascii=22
  18. "" ascii=23
  19. "" ascii=24
  20. "" ascii=25
  21. "" ascii=27
  22. "" ascii=28
  23. "" ascii=29
  24. "" ascii=30
  25. "" ascii=31
  26. "�" ascii=127
  27. "'" ascii=39
  28. "-" ascii=45
  29. " " ascii=32
  30. "{TAB}" ascii=9
  31. "" ascii=11
  32. " " ascii=12
  33. "!" ascii=33
  34. """ ascii=34
  35. "#" ascii=35
  36. "$" ascii=36
  37. "%" ascii=37
  38. "&" ascii=38
  39. "(" ascii=40
  40. ")" ascii=41
  41. "*" ascii=42
  42. "," ascii=44
  43. "." ascii=46
  44. "/" ascii=47
  45. ":" ascii=58
  46. ";" ascii=59
  47. "?" ascii=63
  48. "@" ascii=64
  49. "[" ascii=91
  50. "\" ascii=92
  51. "]" ascii=93
  52. "^" ascii=94
  53. "_" ascii=95
  54. "`" ascii=96
  55. "{" ascii=123
  56. "|" ascii=124
  57. "}" ascii=125
  58. "~" ascii=126
  59. "+" ascii=43
  60. "<" ascii=60
  61. "=" ascii=61
  62. ">" ascii=62
  63. "€" ascii=128
  64. "0" ascii=48
  65. "1" ascii=49
  66. "2" ascii=50
  67. "3" ascii=51
  68. "4" ascii=52
  69. "5" ascii=53
  70. "6" ascii=54
  71. "7" ascii=55
  72. "8" ascii=56
  73. "9" ascii=57
  74. "a" ascii=97
  75. "A" ascii=65
  76. "b" ascii=98
  77. "B" ascii=66
  78. "c" ascii=99
  79. "C" ascii=67
  80. "d" ascii=100
  81. "D" ascii=68
  82. "e" ascii=101
  83. "E" ascii=69
  84. "f" ascii=102
  85. "F" ascii=70
  86. "g" ascii=103
  87. "G" ascii=71
  88. "h" ascii=104
  89. "H" ascii=72
  90. "i" ascii=105
  91. "I" ascii=73
  92. "j" ascii=106
  93. "J" ascii=74
  94. "k" ascii=107
  95. "K" ascii=75
  96. "l" ascii=108
  97. "L" ascii=76
  98. "m" ascii=109
  99. "M" ascii=77
  100. "n" ascii=110
  101. "N" ascii=78
  102. "o" ascii=111
  103. "O" ascii=79
  104. "p" ascii=112
  105. "P" ascii=80
  106. "q" ascii=113
  107. "Q" ascii=81
  108. "r" ascii=114
  109. "R" ascii=82
  110. "s" ascii=115
  111. "S" ascii=83
  112. "t" ascii=116
  113. "T" ascii=84
  114. "u" ascii=117
  115. "U" ascii=85
  116. "v" ascii=118
  117. "V" ascii=86
  118. "w" ascii=119
  119. "W" ascii=87
  120. "x" ascii=120
  121. "X" ascii=88
  122. "y" ascii=121
  123. "Y" ascii=89
  124. "z" ascii=122
  125. "Z" ascii=90
复制代码
用if 比较了一下
其中
"{SUB}"        ascii=26
"{CR}"        ascii=13
"{LF}"        ascii=10

因为没法用变量处理 所以不在比较范围内

TOP

28# plp626


1,在 936代码页 下 ⒉ 是小于 3 的,而在 437代码页下是大于 3 的
2,为什么总记挂着他是单字节还是双字节呢? cmd 中所有字符都是按宽字符处理的
在 cmd 中,以 fgets 函数转换字符串为宽字符 ...
hanyeguxing 发表于 2011-5-13 16:31

寒夜孤星怎么什么都知道...

TOP

32# techon
与我以前做过的 ASCII (码值从 32 到 126) 测试结果不相同, 可否贴出完全测试代码(或发出文件附件避免特殊字符损失)

TOP

本帖最后由 techon 于 2011-5-15 12:47 编辑
32# techon
与我以前做过的 ASCII (码值从 32 到 126) 测试结果不相同, 可否贴出完全测试代码(或发出文件附件避免特殊字符损失)
neorobin 发表于 2011-5-15 10:55


这里还有个问题 就是if 判断的时候 使用
  1. if “字符变量” gtr “字符变量”
  2. if 字符变量 gtr 字符变量
复制代码
带引号和不带引号的排序是不一样, 这个好像跟if 对字符处理的位数有关,究竟是按8位字符处理 还是按16位字符处理还有待研究

TOP

35# techon


不带引号是数值比较,而带引号则是字符串比较

TOP

32# techon
除了ascii=00外,其余255个ascii字符都可以用变量表示。
PS:你把ASCII表贴出来有啥意义啊,大家都知道滴。第一眼还以为是你的研究结果,晕。。。

35# techon
if “字符变量” gtr “字符变量”,是纯字符比较
if 字符变量 gtr 字符变量,视变量值的不同,系统会选择采用数字比较或字符比较。

TOP

32# techon
除了ascii=00外,其余255个ascii字符都可以用变量表示。
PS:你把ASCII表贴出来有啥意义啊,大家都知道滴。第一眼还以为是你的研究结果,晕。。。

35# techon
if “字符变量” gtr “字符变量”, ...
powerbat 发表于 2011-5-15 13:07



看 techon 是新注册会员,你这样会打击新人积极性的。

TOP

本帖最后由 abcdshenji 于 2011-5-15 21:50 编辑

37# powerbat


我忍不住得说你两句。。你都知道ascii码是吧。。好考考你。。ascii=15到ascii=35之间都有哪些字符?请迅速回答。。我只想说的是,不要随便打击新人。。还有很多新人(比如我)不知道ASCII表的。。如果你回答不出来。。不好意思请你谦虚点可以吗。。

TOP

本帖最后由 qzwqzw 于 2011-5-15 22:22 编辑

30# plp626
基本上可以确定是wcscmp和wcsncmp
还有忽略大小写的_wcsicmp
是按照字典序(lexicographic comparison)进行比较
这个字典序跟代码页相关
主要是在locale中的LC_COLLATE中指定
中文环境下cmd.exe的LC_COLLATE值为
Chinese_People's Republic of China.936
进一步的信息还未获取到
天的白色影子

TOP

39# abcdshenji
完全没有打击的意思,我只是想抱怨一下“第一眼还以为是你的研究结果”,仔细看才发现是ASCII表——我不是搞编程的,对ASCII也完全不熟(不然不必“仔细”),不查表也不知道ascii=15到ascii=35之间都有哪些字符,只是有这个概念,见到了它知道它是个啥,不至于两眼一抹黑。——其实我想表达的意思是,作者应该把“ASCII表”这几个字交待一下,免得误解。

不要被37楼“会打击新人积极性的”给误导了,呵呵,plp626是牛人,不能和他比。

TOP

闻道有先后,术业有专攻,如是而已。
切磋,切磋,如切如磋。
淡定了大家。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 caruko 于 2011-5-17 17:27 编辑

echo %1|findstr "[ABCDEFGHIJKLMNOPQRSTWUYXYZ]">nul &&echo 大写||echo 小写

发现 [A-Z] 的写法有问题

TOP

echo %1|findstr "[ABCDEFGHIJKLMNOPQRSTWUYXYZ]">nul &&echo 大写||echo 小写

发现 [A-Z] 的写法有问题
caruko 发表于 2011-5-17 17:18

怪事,我试了下还真是,为什么会出现这么奇怪的现象...

TOP

什么叫“怪事”啊?楼上不是经常关注这些帖子吗?24楼就有答案:
if 比较时, 字母表次序是这样的:
43:{a}
44:{A}
45:{b}
46:{B}
...
其实不只是if,findstr也如此。
此帖更全面:[分享]ASCII码单字符 批处理IF命令比较顺序
此帖有原理说明:Windows 代码页与字符顺序
第一类如 if 、sort 等,按以上顺序排列字符;其他 32 位程序绝大多数也是如此,例如资源管理器、外壳程序等等。

TOP

返回列表