亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? is_big5.htm

?? 對于學習很有幫助
?? HTM
字號:
<html><head><title>判斷一個字是否為 BIG</title><meta http-equiv=Content-Type content=text/html; charset=gb2312><meta name=GENERATOR content=Microsoft FrontPage 3.0><style><!--
A{text-transform: none; text-decoration: none;}
A:hover {color: #F77C02 ; text-decoration: underline;} }
--></style><style type=text/css><!--
.font1 {font-size:10.5pt; line-height:15pt; align=center}
.font2 {font-size:9pt; line-height:13pt; }
A{text-transform: none; text-decoration:none;color:#0000FF}
a:hover {text-decoration:underline;color:#FFFFF}
--></style></head><body bgcolor=#FFFFFF><p><span class=font1> </span></p><h3 align=center><b><span class=font1><font color=#0000ff>判斷一個字是否為 BIG-5 中文字?</font></span></b></h3><ul> <p><span class=font1>請問要判斷連續(xù)的兩個 byte是否為一個 BIG-5 中文字,</span></p> <p><span class=font1>問此想問看看有沒有現(xiàn)成的 API 或 function 可以用呀?</span></p> <p><span class=font1>假如沒有中文應用組件的朋友, Win32 中有一個 IsDBCSLeadByte 這個 API 可用, 在 Delphi 的使用示例如下:</span></p> <p><span class=font1>Windows.IsDBCSLeadByte(byte(sTest[1]));</span></p> <p><span class=font1>(中文應用組件中的 IsLeadByte 其實也只是呼叫這個 API 而已)</span></p> <p><span class=font1>就連是不是中文字這樣簡單的問題可能都並不單純喔...., 這個問題之前被我想得有點鑽牛&agrave;尖了.... 也許原發(fā)問者寬達可以將 C 的程式借我看一下... :p</span></p> <p><span class=font1>先來看這個例子:</span></p> <pre><span class=font1>procedure TForm1.Button5Click(Sender: TObject);
var
  sTest: string;
begin
  sTest := '中文字';
  // 沒有應用組件的請用這個: Windows.IsDBCSLeadByte(byte(sTest[1]));
  if IsLeadByte(@sTest[1]) then ShowMessage('Yes 1');
  if IsLeadByte(@sTest[2]) then ShowMessage('Yes 2 ???');
end;</span></pre> <p><span class=font1>Yes1 顯示出來是對的, 可是 Yes2 也跑出來, 就..., 看來, 這個IsDBCSLeadByte可能只比對了一下內碼表就給結果了. 所以, 以下的程式:</span></p> <pre><span class=font1>procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  i: integer;
begin
  s := '中文字';
  for i := 1 to Length(s) do
    if Windows.IsDBCSLeadByte(byte(s[i])) then
      ShowMessage(IntToStr(i) + '*' + IntToStr(Ord(s[i])));
end;</span></pre> <p><span class=font1>1. 2. 3. 4. 5. 都是 Leadbyte, 連 TrailByte 也是..., 哈哈!</span></p> <p><span class=font1>當然, 這牽到中文字是 double-byte, 既然只判斷一個位置不準, 就有人利用兩個字元指標, 除了本身之外, 還比較參考另一個位置的字元, 然後得出一個比較準確的結果. 有興趣的朋友可以參考中文應用組件的以下兩個函數(shù):</span></p> <pre><span class=font1>function IsMBSLead( p1, p2: pchar ) : Boolean;
function IsMBSTrail( p1, p2: pchar ) : Boolean;</span></pre> <p><span class=font1>它們可能比較準一些.</span></p> <p><span class=font1>大家可能曾注意過, Windows 95 的 EditBox 並無法以滑鼠對半個中文字作出反白選擇標記, 所以, 我自以為找到一個很慢但準確的方法, 可是以下的情形呢?</span></p> <pre><span class=font1>procedure TForm1.Button2Click(Sender: TObject);
{$h-}
var
  sTest: string;
begin
  sTest := '中文字';
  ShowMessage(Copy(sTest, 2, 2));
  with TEdit.Create(Self) do
  begin
    Parent := Self;
    // Text := Copy(sTest, 2, 2);  // 1. 中?? bug
    Text := sTest[2] + sTest[3];   // 2. 中?? bug
    // 不要懷疑, TrailByte + 另一個字的 Leadbyte 正好是 '中'
    // 不是 Copy 函數(shù)有問題
    SelStart := 0;
    SelLength := 2;
    if SelLength = 0 then ShowMessage('Not Chinese')
    else ShowMessage('Yes, Chinese word');
    Free;
  end;
end;</span></pre> <p><span class=font1>沒錯啦! 結果是'中'字, 判斷'中'字是中文字也對, 但是各拆一個字的前後出來組出來的結果再判斷其一個字元是不是Leadbyte, 簡直是GIGO (Garbage In Garbage Out)的典型.</span></p> <p><span class=font1>說了半天, 問題被我複雜化了, 簡單的說, </span></p> <table><tbody> <tr> <td vAlign=baseline><span class=font1><img height=10 src=http://202.98.107.86/tyb/images/squarpurple.gif width=10></span></td> <td><span class=font1>1. IsDBCSLeadByte 不是一可完全可靠的函數(shù), 中文是 double-byte, 只以一個傳入字元值作判斷常常不準.</span></td> </tr> <tr> <td vAlign=baseline><span class=font1><img height=10 src=http://202.98.107.86/tyb/images/squarpurple.gif width=10></span></td> <td><span class=font1>2. 要正確將各個中文字斷開的程式可能很複雜. 用兩個 pchar 來作比較, 準確性會提高一點.</span></td> </tr></tbody> </table> <p><span class=font1>只是提高一點而已, 有中文應用組件的朋友可以試試:</span></p> <pre><span class=font1>   var
     sOrigin, sTest: string;
   begin
     sOrigin := '中文字';
     sTest := Copy(sOrigin, 4, 2);  // 變成 憒 這個怪字
     if IsMBSLead(@sTest[1], @sTest[1]) then Showmessage('Leadbyte');
   end;</span></pre> <p><span class=font1>對的, 我又故意切開中文, 所以有人會講, 應該是 Copy(..., 3, 2)才是, 嗯! &ecirc;我怎麼知道該從哪裏開始呢?(哪裏是中文字)? 唉! 我腦筋又不清楚了...</span></p> <p><span class=font1>中文應用組件有 AnsiCopy() 視中文字為一個單位, &ecirc;以下的程式呢?</span></p> <pre><span class=font1>   var
     sTest: string;
   begin
     sTest := '中文字';
     ShowMessage(AnsiCopy(sTest, 2, 2));
     sTest := #156 + '中文字';
     ShowMessage(AnsiCopy(sTest, 2, 2)); // ??中憒..
   end;</span></pre> <p><span class=font1>講了這麼多, 我的意見是: 回到原點, 除非有人故意搗蛋或者傳入的字串已經有問題, 或者&ecirc;個內碼根本沒有字, 否則只用IsDBCSLeadByte()就可以了吧.</span></p></ul><p> </p><p><span class=font2>版主:西安&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 梁&nbsp; 明<br>日期:99-07-29<br>E-mail:<a href=mailto:delphifan@990.net>delphifan@990.net</a></span></p><hr></body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美另类图片小说| 精品一区二区免费看| 青草av.久久免费一区| 国内精品伊人久久久久影院对白| 色中色一区二区| 2020国产精品| 亚洲第一久久影院| 99综合电影在线视频| 欧美精品一区二区蜜臀亚洲| 亚洲国产一区视频| 成人av电影在线观看| 欧美精品一区视频| 美女视频免费一区| 欧美日韩国产电影| 国产一区二区伦理片| 亚洲私人黄色宅男| 亚洲免费av观看| 精品入口麻豆88视频| eeuss鲁一区二区三区| 激情欧美一区二区| 亚洲已满18点击进入久久| 成人动漫av在线| 狠狠色狠狠色综合| 五月激情六月综合| 亚洲精品写真福利| 国产欧美日韩精品一区| 极品瑜伽女神91| 91精品在线一区二区| 亚洲综合自拍偷拍| 色成年激情久久综合| 国产精品美女久久久久久2018| 国产精品一区免费在线观看| 欧美大片拔萝卜| 久久精品国产一区二区三| 欧美色国产精品| 午夜不卡在线视频| 欧美高清视频不卡网| 亚洲va欧美va国产va天堂影院| 欧美写真视频网站| 五月婷婷久久丁香| 欧美一区二区精美| 国产精品1区2区3区在线观看| xfplay精品久久| 国产乱人伦偷精品视频不卡| 国产欧美精品一区二区色综合朱莉 | 国产精品久久久久久亚洲伦 | 国产精品久久久一本精品| 亚洲图片欧美视频| 欧美日韩国产小视频| 亚洲不卡av一区二区三区| 欧美日韩精品免费| 麻豆91在线观看| 久久夜色精品国产噜噜av| 国产精品综合二区| 亚洲色图制服诱惑| 欧美精品 国产精品| 久久精品国产精品亚洲综合| 精品成人私密视频| 99精品国产99久久久久久白柏| 亚洲精品视频观看| 欧美一二三四在线| 亚洲欧美视频在线观看| 午夜精品福利在线| 91麻豆精品国产自产在线观看一区| 欧美一区二区三区精品| 国产精品亲子伦对白| 日韩国产精品久久久| 狠狠狠色丁香婷婷综合激情 | 色噜噜狠狠一区二区三区果冻| 欧美伦理视频网站| 国产精品毛片高清在线完整版| 国产精品中文欧美| 日本道精品一区二区三区 | 国v精品久久久网| 一区二区在线看| 欧美精品一区视频| 欧美主播一区二区三区| 久久精品国产秦先生| 亚洲久本草在线中文字幕| 欧美一区二区三区四区五区 | 欧美专区日韩专区| 国产黄色91视频| 亚洲永久精品国产| 久久精品亚洲乱码伦伦中文| 欧美日韩免费电影| 成人深夜在线观看| 免费人成在线不卡| 一片黄亚洲嫩模| 国产精品美女久久久久aⅴ| 91精品国产综合久久久久久久| www.亚洲在线| 国产一区二区三区香蕉| 亚洲一区二区影院| 亚洲人精品午夜| 国产欧美一区二区精品性色超碰 | 日韩一级完整毛片| 在线精品视频一区二区| 大桥未久av一区二区三区中文| 日本欧美肥老太交大片| 午夜精品一区二区三区电影天堂 | 日韩电影免费一区| 亚洲欧洲日本在线| 国产欧美日韩另类一区| 欧美变态tickle挠乳网站| 欧美日韩大陆一区二区| 欧美系列日韩一区| 日本韩国一区二区| 一本色道久久综合亚洲91 | 久久国产福利国产秒拍| 日韩av午夜在线观看| 丝袜亚洲另类欧美| 国产欧美日韩麻豆91| 一本到不卡免费一区二区| 欧美无砖砖区免费| 欧美一级片免费看| 99久久婷婷国产精品综合| 亚洲午夜一二三区视频| 中文字幕一区在线观看视频| 制服.丝袜.亚洲.中文.综合| 国产一区欧美日韩| 天堂在线亚洲视频| 亚洲成人激情自拍| 中文字幕一区二区三区在线不卡| 中文一区二区完整视频在线观看| 欧美日韩一区视频| 一本色道综合亚洲| 在线亚洲欧美专区二区| 色狠狠色噜噜噜综合网| 91论坛在线播放| 91成人免费在线视频| 欧美日韩视频在线第一区| 欧美福利视频一区| 日韩欧美国产成人一区二区| 久久影院午夜论| 国产精品久久久久久久久免费丝袜| 综合在线观看色| 一区二区三区成人在线视频| 亚欧色一区w666天堂| 青青草一区二区三区| 国产在线视频精品一区| 国产凹凸在线观看一区二区| 91麻豆文化传媒在线观看| 欧美日韩视频在线观看一区二区三区| 欧美一级生活片| 欧美韩国日本综合| 亚洲一区在线观看免费观看电影高清 | 99精品欧美一区二区三区综合在线| 色婷婷激情综合| 日韩欧美激情一区| 国产精品嫩草久久久久| 亚洲电影中文字幕在线观看| 国内外成人在线| av动漫一区二区| 欧美不卡激情三级在线观看| 中文字幕中文字幕在线一区 | 亚洲欧洲日本在线| 免费高清在线一区| 99久久伊人久久99| 91精品婷婷国产综合久久性色| 久久精品一二三| 午夜伦理一区二区| 97精品国产露脸对白| 欧美一个色资源| 亚洲乱码国产乱码精品精98午夜| 男人操女人的视频在线观看欧美| av亚洲产国偷v产偷v自拍| 日韩精品在线一区二区| 亚洲欧美日韩中文播放| 国产精品一区在线观看你懂的| 欧洲精品在线观看| 国产精品素人视频| 韩国av一区二区三区| 欧美日韩久久久| 亚洲乱码国产乱码精品精小说| 国产露脸91国语对白| 在线观看av一区| 欧美日韩精品一二三区| 亚洲夂夂婷婷色拍ww47| www.av精品| 日本韩国精品在线| 久久精品国产99国产精品| 91麻豆精品国产91久久久使用方法| 日韩毛片视频在线看| av一区二区三区四区| 最新国产の精品合集bt伙计| 91一区在线观看| 国产欧美日韩在线观看| 国产成人精品综合在线观看| 国产午夜精品久久久久久免费视| 激情成人综合网| 婷婷综合另类小说色区| 天堂va蜜桃一区二区三区漫画版| 激情图片小说一区| 正在播放一区二区| 亚洲成a人v欧美综合天堂下载| 色婷婷久久综合| 亚洲欧洲精品一区二区三区| 成人黄色在线看| 国产视频一区不卡| 国产成人一区在线|