Mong mọi người giúp "Tính độ dài kí tự Tiếng Nhật "

Liên hệ QC

tanden511

Thành viên mới
Tham gia
16/10/07
Bài viết
9
Được thích
4
Hi all !
Em đang viết 1 cái tool nhưng gặp phải vấn đề "Cần tính đồ dài của chuỗi kí tự tiếng Nhật ."
vd :
default.aspx
default.aspx
default.aspx
-> length là 6
Anh chị và các bạn ai biết cách làm chỉ giúp em với.
(PS : Bất kì ngôn ngữ nào có thể check được ah, không cứ phải VB ).
Cám ơn mọi người nhiều.
 
Hi all !
Em đang viết 1 cái tool nhưng gặp phải vấn đề "Cần tính đồ dài của chuỗi kí tự tiếng Nhật ."
vd :
default.aspx
default.aspx
default.aspx
-> length là 6
Anh chị và các bạn ai biết cách làm chỉ giúp em với.
(PS : Bất kì ngôn ngữ nào có thể check được ah, không cứ phải VB ).
Cám ơn mọi người nhiều.
Sao bạn không copy mấy chữ tiếng Nhật ấy paste lên đây để mọi người test thử ---> Bạn đưa hình lên thì test sao đây?
Mà sao nhìn mấy chữ ấy giống chữ TQ quá nhỉ?
 
Upvote 0
Căn cứ vào đâu để xác định độ dài chuỗi hả bạn, theo ví dụ bạn cho thì kết quả 6 đó là từ đâu ra.
 
Upvote 0
Trên diễn đàn mình có ai học tiếng Tàu không nhỉ? Có thể cho mình biết quy cách gõ trên bàn phím mẫu tự la tinh được không? Nếu có thì có thể chuyển về Code() rồi truy ra số ký tự được đó.
VD: "Tam khẩu thành luận" là từ ghép của 3 chữ "khẩu" (). Vậy chữ "luận" này là 3 ký tự hay 1 ký tự?
Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Căn cứ vào đâu để xác định độ dài chuỗi hả bạn, theo ví dụ bạn cho thì kết quả 6 đó là từ đâu ra.
Có thể là họ tính theo độ dài Byte chăng (giống tiếng Việt Unicode ấy)
Có điều không có ký tự mẫu nên không test được!
 
Upvote 0
Câu hỏi bạn ấy lấy từ trong Help của Excel phần hàm Len().

In the following example:

  • LENB returns 6, because each character is counted as 2.
  • LEN returns 3, because each character is counted as 1. LEN returns 3 no matter what the default language setting is on your computer.
=LENB("
default.aspx
default.aspx
default.aspx
") equals 6
=LEN("
default.aspx
default.aspx
default.aspx
") equals 3
Mình chỉ biết các Font Hán, Hàn, Nhật là Font 2 byte.
Trong Help ghi rõ nếu sư dụng hàm len thì cho length=3 nhưng dùng LenB thì cho length=6
Mình lấy đoạn ký tự sau để test thì lại thấy bằng nhau: 成員都是偉大的
Chủ yếu mình đưa đoạn ký tự chữ ký của Thuyyeu 99 để các bạn test .
 
Lần chỉnh sửa cuối:
Upvote 0
Theo mình biết thì chữ 東京都 được viết thành tiếng Nhật sẽ là とうきょうと đọc ra tiếng la tinh là to-u-ki-yo-u-to=6, cái này phụ thuộc vào cuốn từ điển tiếng Nhật thôi. Vấn đề là mỗi từ tiếng Nhật có thể có phiên âm khác nhau.
 
Lần chỉnh sửa cuối:
Upvote 0
mình bổ sung thêm một số từ tiếng Nhật khác
大阪 おおさか oosaka
横浜 よこはま yokohama
長崎 ながさき nagasaki
日本 にほん nihon
中国 ちゅうごく chuugoku hoặc chi-yu-u-go-ku
植物 しょくぶつ shokubutsu hoặc shi-yo-ku-bu-tsu
:)
 
Upvote 0
* Cám ơn các bạn đã xem bài viết của mình. Mình giải thích 1 chút nhé :

- Bình thường thì các kí (vd : English) là 1 byte. Còn các ký tự như tiếng Nhật, Trung... là 2 bytes.
vd : 人 (từ này là nhân, tiếng Nhật và Trung hình như cùng nghĩa).
- Tiếng Trung tớ chưa rõ, nhưng trong Tiếng Nhật thì nó lại chia làm mấy thể loại Fullsize, Halfsize. Các loại chữ là Kanj, Katakana, Hiragana ... Các kí tự Fullsize, Kanji thì là 2 bytes, còn Halfsize là 1 byte.
vd :
- ひと thì mỗi kí tự là 1byte.
- 人 thì lại là 2 bytes.
Tớ cũng biết 1 tẹo tiếng Nhật nên chỉ giải thích được vậy.
Trong help của Excel các bạn gõ : "LEN" sẽ thấy họ giải thích như sau :
LEN returns the number of characters in a text string.
LENB returns the number of bytes used to represent the characters in a text string.
Important LEN is intended for use with languages that use the single-byte character set (SBCS), whereas LENB is intended for use with languages that use the double-byte character set (DBCS). The default language setting on your computer affects the return value in the following way:

  • LEN always counts each character, whether single-byte or double-byte, as 1, no matter what the default language setting is.
  • LENB counts each double-byte character as 2 when you have enabled the editing of a language that supports DBCS and then set it as the default language. Otherwise, LENB counts each character as 1.
The languages that support DBCS include Japanese, Chinese (Simplified), Chinese (Traditional), and Korean.

Cũng thất khó hiểu với ai chưa từng động qua mấy cái loằng ngoằng này, các bạn gặp qua đoạn code liên quan đến cái này thì xem giúp tớ nhé !
Mục đích của tớ là chỉ cần tính được length của 1 ký tự đã xác định.
Một lần nữa cảm ơn các bạn đã giành thời gian tìm hiểu cùng tớ. Thanks again.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Câu hỏi bạn ấy lấy từ trong Help của Excel phần hàm Len().


Mình chỉ biết các Font Hán, Hàn, Nhật là Font 2 byte.
Trong Help ghi rõ nếu sư dụng hàm len thì cho length=3 nhưng dùng LenB thì cho length=6
Mình lấy đoạn ký tự sau để test thì lại thấy bằng nhau: 成員都是偉大的
Chủ yếu mình đưa đoạn ký tự chữ ký của Thuyyeu 99 để các bạn test .

Tớ cũng đã thử như bạn, như trong help nói những vẫn ra cả 2 bằng nhau. Về sau đọc kĩ hơn thì thấy để ra được thì máy mình phải là hệ điều hành tiếng Nhật, thiết lập mọi cái là tiếng Nhật. Đồng nghĩa là 1 người Nhật, hì..... thì mới làm ra đúng kết quả như help.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom