Đôi điều về nhì bảng mã Unicode giờ Việt permalink

Chắc hẳn khi dùng các nguyên tắc gõ vnạp năng lượng phiên bản giờ Việt (TV), bạn đã từng nghe qua hai cỗ mã TV Unicode: dựng sẵntổ hợp.

Bạn đang xem: Một số kĩ thuật xử lí tiếng việt trong javascript

quý khách hàng đã xem: Bỏ dấu giờ việt javascript

Để làm rõ rộng họ hãy cùng chu đáo ký từ bỏ TV có vệt đơn giản: “Ạ”. Để mã hóa ký từ này, với Unicode dựng sẵn, chúng ta cần sử dụng một ký kết từ gồm mã Unicode U+1EA0 cùng với tên biểu thị giờ Anh: “LATIN CAPITAL LETTER A WITH DOT BELOW”. Cả chữ A cùng dấu nặng nề được dựng sẵn trong một tọa độ mã Unicode (code point). Còn cùng với Unicode tổng hợp, bạn phải nhì code point:

U+0041: LATIN CAPITAL LETTER AU+0323: COMBINING DOT BELOW

Đoạn JavaScript sau đang minh họa thêm sự khác nhau giữa 2 phương pháp viết:

const dungSan = "u1EA0";const toHop = "u0041u0323";console.log(dungSan); // "Ạ"console.log(toHop); // "Ạ"console.log(dungSan.length); // 1console.log(toHop.length); // 2console.log(dungSan == toHop); // falseHiện giờ, số đông tất cả các phần mềm cỗ gõ giờ Việt những áp dụng bộ mã dựng sẵn Khi người dùng lựa chọn bảng mã Unicode. Trong đồ họa setup Unikey cho Window, trên list bảng mã sổ xuống, các bạn sẽ thấy 2 lựa chọn: Unicode (ngầm hiểu là dựng sẵn) và Unicode tổ hợp.

Hai ứng dụng của String.prototype.normalize permalink

Để chuẩn chỉnh hóa chuỗi giờ đồng hồ Việt vào ES6+, bọn họ chỉ cần call cách làm normalize của string nlỗi sau:

const dungSan = str.normalize("NFC");// NFC — Normalization Form Canonical Composition. — Dựng Sẵn (mang định)const toHop = str.normalize("NFD");// NFD — Normalization Form Canonical Decomposition. — Tổ Hợpdo đó, nhằm so sách chuỗi tiếng Việt an ninh, họ đang sử dụng normalize nlỗi ví dụ sau:

Ứng dụng 2: Gỡ quăng quật lốt khỏi chuỗi giờ Việt cùng gửi thành slug permalink

Trước trên đây, nhằm vứt lốt khỏi chuỗi tiếng Việt trong JS, bọn họ bắt buộc một bảng tra cứu vãn toàn bộ những ký trường đoản cú gồm vết, nhỏng ví dụ sau:

let str = "Từ Điển Tiếng Việt";str = str.replace(//g, "a");// thường xuyên cho các nguyên âm sót lại...// cùng thêm 1 bảng tương tự như giả dụ nên giữ nguyên hoa hay...Tuy nhiên với normalize, tất cả một thủ thuật tương đối ngắn gọn gàng để gỡ bỏ dấu TV mà không yêu cầu mang đến bảng tra cứu. Cơ chế của nó là bạn sẽ gửi chuỗi TV thành format tổ phù hợp với vết là các ký kết trường đoản cú rời. Các ký trường đoản cú vệt tránh phía trong một hàng Unicode biết trước có tên Combining Diacritical Marks (u0300-u036f) nên bọn họ thuận lợi xóa chúng một biện pháp bao quát. Cuối thuộc, ký từ “Đ” là một cam kết từ bỏ chủ quyền bắt buộc đề xuất đánh giá riêng trường vừa lòng này:

let str = "Từ Điển Tiếng Việt";// chuyển về dạng tổ hợpstr = str.normalize("NFD");// xóa các cam kết từ vệt tổ hợpstr = str.replace(//g, "");// chuyển chữ đ/Đ thành d/Dstr = str.replace(//g, m => m === "đ" ? "d" : "D");console.log(str); // "Tu Dien Tieng Viet"Không đề nghị tôi tự nghĩ ra giải pháp thú vui này, mà tôi vẫn tình cờ hiểu được tweet này của Lea Verou. Và cũng dựa vào nó cơ mà lần đầu tiên tôi biết đến cách làm normalize.

Xem thêm: Top 16 Game Dàn Trận Offline Pc Hay Nhất Bạn Không Thể Bỏ Lỡ

Việc xóa dấu TV có nhiều mục đích, tuy nhiên phổ biến duy nhất có lẽ là nhằm chuyển tiêu đề thành dạng slug để tạo nên URL mang đến website. Sau đây là đoạn CodePen hiện tại cách làm chuyển chuỗi slug giờ đồng hồ Việt:

Trên đây là nhì ứng dụng độc đáo của String.prototype.normalize với tiếng Việt. Nếu bạn phân phát chỉ ra thêm ứng dụng nào xuất xắc ho nữa giỏi tất cả vướng mắc, hãy vướng lại bình luận bên dưới.