Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 3 của 12 Đầu tiênĐầu tiên 12345 ... CuốiCuối
Kết quả 21 đến 30 của 114
  1. #21
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #22
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi villbe
    Mình đã demo dựa trên câu hỏi của bạn và nhận thấy không có thuật toán nào làm được như vậy đâu bạn.

    Demo:


    Mã:
    <input type="text" />
    Mã:
    <div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">         alert($(this).val().charCodeAt(0))      }   })</script>
    Dùng VNI gõ chữ ê và press enter key, ta được key code là 234.
    Chuyển VNI thành Telex và gõ chữ ê và press enter key, key code vẫn là 234.

    Dựa vào điều đó, ta khẳng định: Không thể phân biệt được 1 sản phẩm (chữ) được tạo thành bởi VNI hay Telex. Tuy nhiên vẫn có thể biết user đang nhập liệu bằng kiểu nào (keyup).

    Còn chuyện xóa dấu, chẳng qua chỉ là replace thôi. Như bạn thấy, máy tính không thể biết được chữ ê, tuy nhiên, nó có thể biết chữ nào có key code là 234. Và khi yêu cầu replace, nó sẽ replace các chữ nào có key code là 234, chứ không phải các chữ ê.

    Ghi chú đặc biệt: Một thiếu sót trong tất cả comment bên trên là chưa phân biệt được chữ tiếng Việt do nhập liệu và chữ tiếng Việt do copy - paste.

    Để test, bạn bật notepad lên và gõ chữ ế (VNI là: e + 6 + 1, Telex là: e + e + s). Sau đó ấn Backspace 1 lần, ta sẽ xóa được chữ ế.
    Bây giờ, bạn copy chữ ế trong comment của tôi và dán lại vào notepad, sau đó nhấn Backspace 2 lần sẽ xóa được nó.

    Why?

    What's the different between ế (keycode 234) and ế (keycode 234)?

    Dựa vào điều đó, ta lại có khẳng định mới: Replace an input string is very very different from a copy - paste string.

    Note: Key code của ê là 234, của ế vẫn là 234 nhé.</div>

    </div>
    </div>
    </div>Thanks bạn rất nhiều, vì cho mình thêm 1 kiến thức phân biệt key code.
    ở đây mình chỉ muốn phân biệt ở việc input data vào textbox control,để giải quyết vấn đề quét barcode. ví dụ mã barcode : coong thì khi quét bị unicode chuyển thành công.sai mã,mình đang nghiên cứu giải pháp hook, vì tìm hiểu unicode sử dụng kỹ thuật hook.
    tks bạn nhiều

  3. #23
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  4. #24
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi villbe
    Mình đã demo dựa trên câu hỏi của bạn và nhận thấy không có thuật toán nào làm được như vậy đâu bạn.

    Demo:


    Mã:
    <input type="text" />
    Mã:
    <div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">         alert($(this).val().charCodeAt(0))      }   })</script>
    Dùng VNI gõ chữ ê và press enter key, ta được key code là 234.
    Chuyển VNI thành Telex và gõ chữ ê và press enter key, key code vẫn là 234.

    Dựa vào điều đó, ta khẳng định: Không thể phân biệt được 1 sản phẩm (chữ) được tạo thành bởi VNI hay Telex. Tuy nhiên vẫn có thể biết user đang nhập liệu bằng kiểu nào (keyup).

    Còn chuyện xóa dấu, chẳng qua chỉ là replace thôi. Như bạn thấy, máy tính không thể biết được chữ ê, tuy nhiên, nó có thể biết chữ nào có key code là 234. Và khi yêu cầu replace, nó sẽ replace các chữ nào có key code là 234, chứ không phải các chữ ê.

    Ghi chú đặc biệt: Một thiếu sót trong tất cả comment bên trên là chưa phân biệt được chữ tiếng Việt do nhập liệu và chữ tiếng Việt do copy - paste.

    Để test, bạn bật notepad lên và gõ chữ ế (VNI là: e + 6 + 1, Telex là: e + e + s). Sau đó ấn Backspace 1 lần, ta sẽ xóa được chữ ế.
    Bây giờ, bạn copy chữ ế trong comment của tôi và dán lại vào notepad, sau đó nhấn Backspace 2 lần sẽ xóa được nó.

    Why?

    What's the different between ế (keycode 234) and ế (keycode 234)?

    Dựa vào điều đó, ta lại có khẳng định mới: Replace an input string is very very different from a copy - paste string.

    Note: Key code của ê là 234, của vẫn là 234 nhé.</div>

    </div>
    </div>
    </div>chữ ê mới là 234 nhé.
    cái này có vẻ là lừa người rồi bạn, rõ ràng chữ ế trong coment của bạn ko phải gõ bằng bộ gõ tiếng việt thông thường và nó có mã ko phải 234 và cũng không nằm trong bảng mã unicode bởi vì nó gồm 2 kí tự khác nhau. kí tự đầu là chữ ê còn kí tự sau là kí tự đặc biệt mình quên nó ở vị trí nào ròi. mình đã tìm thử kí tự ế của bạn và ko tìm thấy (nếu là ế thì nó phải tìm ra mã là #1ebf) kết luận mình đã đoán đúng.

    ps: mình đã tìm ra mã của kí tự thứ 2 là #301(hệ cơ số 16) nhá . kí tự này đặc biệt ở chỗ nó xẽ ko chiếm riêng 1 vị trí mà xẽ đè lên kí tự trước nó nên nhìn sẽ tưởng là cùng 1 kí tự nhưng thực ra 1 vị trí có 2 kí tự chớ thực ra dù coppy hay gõ thì mã chữ ko đổi.

  5. #25
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Van8Hien62
    Tôi dùng từ font abc (TCVN3) đến nay ( trong NetFx 4.5).
    //
    Thấy vài vấn đề mà chưa thấy tài liệu nào đề cập. Lúc rảnh sẽ trình bày chi tiết.
    Tôi mong các LTV trên diễn dàn trao đổi topic cùng chủ đề này bằng kỹ thuật - kỹ năng lập trình tại :
    http://diendan.congdongcviet.com/threads/t354170::du-lieu-tieng-viet-co-dau-khi-search-tren-combobox-thi-ra-khong-dung-dau-help.cpp

  6. #26
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  7. #27
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi villbe
    Exactly. Mình đã cố tình giấu k nói tên bảng mã đó ra thế mà bạn vẫn tìm dc. Good point.

    Mà cái nhận định đó là chính xác dựa trên phần thực hành của mình.

    Nếu có nghi ngờ, sao bạn k thử 1 phép thử kiểm chứng nhỉ? Chỉ 1 2 dòng code thôi.
    Ghê nhỉ, tin villbe có mà bán lúa giống.

  8. #28
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  9. #29
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Của ai người đó quản lý.

    //

    Mã:
    //csc Ymd.csusing System;using System.Threading;using System.Globalization; namespace Ymd{    class Program{        static void Main(string[] args){            Thread.CurrentThread.CurrentCulture = new CultureInfo("vi-VN"); //Vietnamese            //            DateTime ymd = new DateTime(2015, 11, 21);//Year, Month, Day            //string kq = ymd.ToString("Y"); //Year : "Tháng Mười Một 2015"            string kq = ymd.ToString("M"); //Month : "21 Tháng Mười Một"            //"Tháng Mười Một 2015"            Console.WriteLine("Ngày 21/11/2015, netFx dịch (Culture + fmt):");            Console.WriteLine(kq);            Console.WriteLine("
    STT === Char === Code(decimal).");            //Console.WriteLine("STT === Char === Code(Hex).");            for (int i = 0; i < kq.Length; i++)                Console.WriteLine("{0,2:d} {1,8:c} {2,10:d}", i, kq[i], (int)kq[i]);                //Console.WriteLine("{0,2:d} {1,8:c} {2,10:X}", i, kq[i], (int)kq[i]);            Console.Write("
    Done, press enter to quit ..");Console.ReadLine();        }    }}
    //
    Biên dịch và chạy

  10. #30
    Ngày tham gia
    Sep 2015
    Đang ở
    24 Rạch Bùng Binh , P10,Q3 , HCM
    Bài viết
    0

 

 
Trang 3 của 12 Đầu tiênĐầu tiên 12345 ... CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •