In tên nhân vật


42

Mỗi ký tự Unicode đều có một tên, như "LATIN VỐN THƯỞNG A". Tên ký tự Unicode chỉ có thể chứa các chữ cái viết hoa, khoảng trắng và dấu trừ.

Viết chương trình đọc văn bản và xuất tên của từng ký tự trên một dòng mới. Ví dụ: nếu đầu vào là "Xin chào, Thế giới!", Đầu ra sẽ là

LATIN CAPITAL LETTER H
LATIN SMALL LETTER E
LATIN SMALL LETTER L
LATIN SMALL LETTER L
LATIN SMALL LETTER O
COMMA
SPACE
LATIN CAPITAL LETTER W
LATIN SMALL LETTER O
LATIN SMALL LETTER R
LATIN SMALL LETTER L
LATIN SMALL LETTER D
EXCLAMATION MARK
  • Đầu vào phải đến từ một tệp hoặc từ đầu vào của người dùng, không chỉ là một chuỗi trong mã.
  • Đầu ra phải được ghi vào một tập tin hoặc thiết bị xuất chuẩn hoặc in ra màn hình.
  • Internet và các thư viện bên ngoài không được phép, tất cả dữ liệu cần thiết phải có trong mã.
  • Giả sử rằng đầu vào chỉ chứa các ký tự ASCII có thể in trong phạm vi mã Latin cơ bản 32-126. Bạn có thể bỏ qua một dòng mới.
  • Tất cả các ngôn ngữ lập trình được phép. Mã ngắn nhất trong byte thắng.

Tên ký tự Unicode chính thức có thể được tìm thấy ở đây . Những nguồn khác:

Đây là câu hỏi đầu tiên của tôi vì vậy tôi đánh giá cao bất kỳ đề xuất nào nếu điều này có thể được cải thiện.

Đối với mục đích của thách thức này, danh sách dưới đây sẽ được quy định.

    32  0020        SPACE
!   33  0021        EXCLAMATION MARK
"   34  0022        QUOTATION MARK
#   35  0023        NUMBER SIGN
$   36  0024        DOLLAR SIGN
%   37  0025        PERCENT SIGN
&   38  0026        AMPERSAND
'   39  0027        APOSTROPHE
(   40  0028        LEFT PARENTHESIS
)   41  0029        RIGHT PARENTHESIS
*   42  002A        ASTERISK
+   43  002B        PLUS SIGN
,   44  002C        COMMA
-   45  002D        HYPHEN-MINUS
.   46  002E        FULL STOP
/   47  002F        SOLIDUS
0   48  0030        DIGIT ZERO
1   49  0031        DIGIT ONE
2   50  0032        DIGIT TWO
3   51  0033        DIGIT THREE
4   52  0034        DIGIT FOUR
5   53  0035        DIGIT FIVE
6   54  0036        DIGIT SIX
7   55  0037        DIGIT SEVEN
8   56  0038        DIGIT EIGHT
9   57  0039        DIGIT NINE
:   58  003A        COLON
;   59  003B        SEMICOLON
<   60  003C        LESS-THAN SIGN
=   61  003D        EQUALS SIGN
>   62  003E        GREATER-THAN SIGN
?   63  003F        QUESTION MARK
@   64  0040        COMMERCIAL AT
A   65  0041        LATIN CAPITAL LETTER A
B   66  0042        LATIN CAPITAL LETTER B
C   67  0043        LATIN CAPITAL LETTER C
D   68  0044        LATIN CAPITAL LETTER D
E   69  0045        LATIN CAPITAL LETTER E
F   70  0046        LATIN CAPITAL LETTER F
G   71  0047        LATIN CAPITAL LETTER G
H   72  0048        LATIN CAPITAL LETTER H
I   73  0049        LATIN CAPITAL LETTER I
J   74  004A        LATIN CAPITAL LETTER J
K   75  004B        LATIN CAPITAL LETTER K
L   76  004C        LATIN CAPITAL LETTER L
M   77  004D        LATIN CAPITAL LETTER M
N   78  004E        LATIN CAPITAL LETTER N
O   79  004F        LATIN CAPITAL LETTER O
P   80  0050        LATIN CAPITAL LETTER P
Q   81  0051        LATIN CAPITAL LETTER Q
R   82  0052        LATIN CAPITAL LETTER R
S   83  0053        LATIN CAPITAL LETTER S
T   84  0054        LATIN CAPITAL LETTER T
U   85  0055        LATIN CAPITAL LETTER U
V   86  0056        LATIN CAPITAL LETTER V
W   87  0057        LATIN CAPITAL LETTER W
X   88  0058        LATIN CAPITAL LETTER X
Y   89  0059        LATIN CAPITAL LETTER Y
Z   90  005A        LATIN CAPITAL LETTER Z
[   91  005B        LEFT SQUARE BRACKET
\   92  005C        REVERSE SOLIDUS
]   93  005D        RIGHT SQUARE BRACKET
^   94  005E        CIRCUMFLEX ACCENT
_   95  005F        LOW LINE
`   96  0060        GRAVE ACCENT
a   97  0061        LATIN SMALL LETTER A
b   98  0062        LATIN SMALL LETTER B
c   99  0063        LATIN SMALL LETTER C
d   100 0064        LATIN SMALL LETTER D
e   101 0065        LATIN SMALL LETTER E
f   102 0066        LATIN SMALL LETTER F
g   103 0067        LATIN SMALL LETTER G
h   104 0068        LATIN SMALL LETTER H
i   105 0069        LATIN SMALL LETTER I
j   106 006A        LATIN SMALL LETTER J
k   107 006B        LATIN SMALL LETTER K
l   108 006C        LATIN SMALL LETTER L
m   109 006D        LATIN SMALL LETTER M
n   110 006E        LATIN SMALL LETTER N
o   111 006F        LATIN SMALL LETTER O
p   112 0070        LATIN SMALL LETTER P
q   113 0071        LATIN SMALL LETTER Q
r   114 0072        LATIN SMALL LETTER R
s   115 0073        LATIN SMALL LETTER S
t   116 0074        LATIN SMALL LETTER T
u   117 0075        LATIN SMALL LETTER U
v   118 0076        LATIN SMALL LETTER V
w   119 0077        LATIN SMALL LETTER W
x   120 0078        LATIN SMALL LETTER X
y   121 0079        LATIN SMALL LETTER Y
z   122 007A        LATIN SMALL LETTER Z
{   123 007B        LEFT CURLY BRACKET
|   124 007C        VERTICAL LINE
}   125 007D        RIGHT CURLY BRACKET
~   126 007E        TILDE

4
Xin chào, tôi đã tiếp tục và chỉnh sửa câu hỏi của bạn, quay lại nếu bạn không đồng ý. Bạn không cần nhiều nguồn thông tin hơn, bạn cần một nguồn , phiên bản quy phạm trong câu hỏi, để tránh các vấn đề có sự khác biệt. Tôi đã chọn ssec.wisc.edu/~tomw/java/unicode.html#x0000 vì nó ngắn gọn nhất. Ngoài ra, +1
Cấp sông St

Cảm ơn bạn đã chỉnh sửa @steveverrill, tôi đã quá lười biếng để tự làm điều đó.
tôi và con mèo của tôi

Rõ ràng các giá trị có sẵn như là một phần của Windows, trong C:\Windows\System32\getuname.dll. Điều này cũng được tính là một "thư viện bên ngoài", ngay cả khi nó được tích hợp vào Windows?
lc.

6
Tôi chỉ học từ solidus.
Lu-ca

Câu trả lời:


31

Java - 113 byte (152 nếu đọc từ dòng lệnh)

Chỉnh sửa: loại bỏ dấu ngoặc nhọn vô dụng.

Edit2: loại bỏ biến không cần thiết.

Edit3: Thay vì Character.getName () Tôi sử dụng c.getName ().

Edit4: Truyền chuỗi dưới dạng đối số dòng lệnh.

Với đối số dòng lệnh (113 byte):

class Z{public static void main(String[]x){for(Character c:x[0].toCharArray())System.out.println(c.getName(c));}}

Với dòng đọc (152 byte):

class Z{public static void main(String[]x){for(Character c:new java.util.Scanner(System.in).nextLine().toCharArray())System.out.println(c.getName(c));}}

Java có mọi thứ cần thiết. Tôi chắc chắn rằng điều này có thể được đánh golf xuống.


7
Chỉ trích! Một tích hợp! Để biến điều này thành một thách thức thú vị, tôi sẽ coi đây là việc không tuân thủ "tất cả dữ liệu cần thiết phải có trong mã". Rất thông minh, mặc dù.
Cấp sông St

1
@steveverrill ơi :) Tôi đã thấy một thử thách khác trong đó lisp thông thường đã làm điều tương tự (đếm từ một đến 100 nếu tôi nhớ đúng).
Peter Lenkefi

6
Wow, lần này Java có cơ hội đánh bại rất nhiều ngôn ngữ chơi gôn.
vsz

4
Giải pháp Java 8 thay thế: x[0].chars().forEach(i->System.out.println(Character.getName(i)));Điều này giúp tiết kiệm 2 ký tự so với giải pháp đối số dòng lệnh (bằng cách thay thế for-loop).
hjk

3
Hoặc có thểx[0].chars().map(' '::getName).forEach(System.out::println);
Eric

18

Python 3, 56 byte

Sử dụng một chức năng tích hợp unicodedata.name(), vì vậy điều này có thể không có thẩm quyền. Câu trả lời Java đã làm điều đó tương tự, vì vậy tôi nghĩ rằng nó ít nhất là đáng đăng.

from unicodedata import*
for i in input():print(name(i))

Tôi cũng muốn đăng một bài trong python nhưng câu trả lời java của tôi đã đủ gian lận :).
Peter Lenkefi

1
Chắc chắn for i in input():print(unicodedata.name(i))là ngắn hơn?
Eric

1
@Eric số Bạn phải import unicodedata, vì vậy đó là lâu hơn .
mbomb007

17

JavaScript (ES6) 594 618 626

Lưu ý Tôi có thể lưu ~ 30 byte nén chuỗi dài bằng atob / btoa, nhưng ký tự utf8 ở trên '~' không được chấp nhận tốt bởi trình chỉnh sửa bài Stack Exchange. Tôi thích giữ một đoạn chạy thay thế.

Chỉnh sửa 8 ký tự đã lưu thx @Ypnypn

Rõ ràng nén các từ lặp đi lặp lại. Dòng mới bên trong backticks là đáng kể và được tính.

Kiểm tra chạy đoạn mã trong Firefox.

// TEST SUITE
// for testing purpose, redefine alert() to write inside the snippet body
alert=x=>O.innerHTML=x
// for testing purpose, redefine prompt() to have a default text containing all characters
_prompt=prompt
prompt=(i,s)=>{
  for(s='',i=32;i<127;i++)s+=String.fromCharCode(i);
  return _prompt("Insert your message or keep the default",s);
}  
  
// That's the answer code:
z='SPACE/EXCLAMA0QUOTA0NUMBER1DOLLAR1PERCENT1AMPERSAND/APOSTROPHE3242ASTERISK/PLUS1COMMA/HYPHEN-MINUS/FULL STOP/78ZERO8ONE8TWO8THREE8FOUR8FIVE8SIX8SEVEN8EIGHT8NINE86SEMI6LESS-THAN1EQUALS1GREATER-THAN1QUES0COMMERCIAL AT3SQUARE5REVERSE 7/4SQUARE5CIRCUMFLEX9/LOW LINE/GRAVE93CURLY5VERTICAL LINE/4CURLY5TILDE'.replace(/\d/g,c=>'TION MARK/, SIGN/,PARENTHESIS/,/LEFT ,RIGHT , BRACKET/,COLON/,SOLIDUS,/DIGIT , ACCENT'.split`,`[c]).split`/`,alert([...prompt()].map(c=>(q=c.charCodeAt()-32)<33?z[q]:q<59?'LATIN CAPITAL LETTER '+c:q<65?z[q-26]:q<91?'LATIN SMALL LETTER '+c.toUpperCase():z[q-52]).join`
`)
<pre id=O></pre>


9

R, 54 byte 62

library(Unicode)
cat(u_char_name(utf8ToInt(scan(,""))),sep="\n")

Chỉnh sửa: mỗi bình luận @flodels, tôi cần đọc nó từ kết nối trước, vì vậy phải thêm scan. Đây có lẽ cũng là giải pháp không có thẩm quyền theo tất cả các quy tắc.

Sử dụng

> cat(u_char_name(utf8ToInt(scan(,""))),sep="\n")
1: 'Hello, World!'
2: 
Read 1 item
LATIN CAPITAL LETTER H
LATIN SMALL LETTER E
LATIN SMALL LETTER L
LATIN SMALL LETTER L
LATIN SMALL LETTER O
COMMA
SPACE
LATIN CAPITAL LETTER W
LATIN SMALL LETTER O
LATIN SMALL LETTER R
LATIN SMALL LETTER L
LATIN SMALL LETTER D
EXCLAMATION MARK

Bạn cũng có thể gói nó thành một chức năng để sử dụng thuận tiện hơn

UNI <- function(x)cat(paste0(u_char_name(utf8ToInt(x)),"\n"))

Sau đó, việc sử dụng chỉ là

UNI("Hello, World!")

1
Số byte của bạn là chính xác :)
Beta Decay

1
Và chào mừng bạn đến với PPCG! : D
Beta Decay

Tốt cho bạn có một tích hợp sẵn cho nhiệm vụ, nhưng đầu ra không phải là những gì được yêu cầu - bảng 4 cột thay vì 1 bảng cột. Tôi nghĩ bạn nên thêm một số lõi để có được đầu ra chính xác
edc65

@ edc65 mà dễ sửa, tôi chỉ nghĩ đó là phần thưởng.
David Arenburg

@ edc65 đã sửa nó.
David Arenburg

7

Perl 6 , 21 byte

Tôi không thấy một quy tắc cụ thể nào chống lại việc sử dụng một phương thức tích hợp sẵn để có được các tên unicode.
(Ngoài ra, câu trả lời Java là câu trả lời được bình chọn cao nhất hiện nay cũng làm như vậy)

.say for get.uninames

1
Perl 6 là lạ. Tôi yêu nó, mặc dù.
mèo

6

Perl (+ coreutils) , 563 byte

Lưu ý : Phần bên dưới sẽ không hoạt động như bình thường, nó cần được sao chép từ xxdbãi chứa bên dưới! Tôi đã cố gắng để dữ liệu thô được chuyển thẳng đến zcat, nhưng điều đó đã thất bại. Tôi chỉ có thể sử dụng một mô-đun Perl Gzip riêng, nhưng chắc chắn đó sẽ là vào ngày mai!

use MIME::Base64;$x=encode_base64(join'',<DATA>);print eval(`base64 -D<<<'$x'|zcat`)->[-32+ord$_].$/for<>=~/./g
__END__
.....x.U.._.u.[r. .@.._~.E(X.i..............J_....1..N......7K......|ih....P...a7......,a.....o.!.=N.K.i.....$..vFv.Pv..........*o...=..|o..O.B..c%2\bj1Gr...nr.|c.{...q......3......aw;b\1...C.Yp..l..K...bB..2C...K..O8e.v...."..C..
.s; .}Oj.....JC..-`@.gMXM..@M...41k.i.K..M.&.&.&.&.&.MdM.&.;..X5q..M.wM|o....3.s.{....MJf4.h>G..B...~$....w...WC.q.2..b.o..Hh.7|.... c..(.I......d|.1...8.8.8.x.q.1.X..*.U.W..d|.....f..4f...l..g'>..oUq4.....j.jU...
0000000: 7573 6520 4d49 4d45 3a3a 4261 7365 3634  use MIME::Base64
0000010: 3b24 783d 656e 636f 6465 5f62 6173 6536  ;$x=encode_base6
0000020: 3428 6a6f 696e 2727 2c3c 4441 5441 3e29  4(join'',<DATA>)
0000030: 3b70 7269 6e74 2065 7661 6c28 6062 6173  ;print eval(`bas
0000040: 6536 3420 2d44 3c3c 3c27 2478 277c 7a63  e64 -D<<<'$x'|zc
0000050: 6174 6029 2d3e 5b2d 3332 2b6f 7264 245f  at`)->[-32+ord$_
0000060: 5d2e 242f 666f 723c 3e3d 7e2f 2e2f 670a  ].$/for<>=~/./g.
0000070: 5f5f 454e 445f 5f0a 1f8b 0808 ff78 ec55  __END__......x.U
0000080: 0003 5f00 7594 5b72 eb20 0c40 b7c2 5f7e  .._.u.[r. .@.._~
0000090: da45 2858 b669 c4c3 089c a49d ee7f 1b17  .E(X.i..........
00000a0: 92b1 9df4 4a5f 96ce d180 3192 7f4e 9cc0  ....J_....1..N..
00000b0: e2e9 e384 374b e0a1 b818 8c87 7c69 68a9  ....7K......|ih.
00000c0: b1bc 8150 fd19 b361 3785 960d 9108 f62c  ...P...a7......,
00000d0: 61b6 18ca 9682 6f80 210c 3d4e 914b 8e69  a.....o.!.=N.K.i
00000e0: eefb 108e c524 c8ad 7646 76dc 5076 d3fc  .....$..vFv.Pv..
00000f0: 9701 17cc 8efb ae89 2a6f cbda e83d b4e7  ........*o...=..
0000100: 7c6f ab85 4fef 42ed d563 2532 5c62 6a31  |o..O.B..c%2\bj1
0000110: 4772 c383 0e6e 72c5 7c63 8e7b 1203 ee71  Gr...nr.|c.{...q
0000120: b91e bccc 190f 33c6 9a8f c4ad 8761 773b  ......3......aw;
0000130: 625c 31ec 19f6 43ec 5970 8f8d 6ca4 d84b  b\1...C.Yp..l..K
0000140: 18bd db62 42e6 cf32 43d8 ce84 4b05 da4f  ...bB..2C...K..O
0000150: 3865 8476 f4b7 8aa5 22bf de43 ff0a ed73  8e.v...."..C...s
0000160: 3b20 037d 4f6a b714 8c85 e44a 4384 a52d  ; .}Oj.....JC..-
0000170: 6040 1367 4d58 4d0c 9a40 4d8c 9a98 3431  `@.gMXM..@M...41
0000180: 6bc2 69e2 4b13 174d 9026 bc26 8226 a226  k.i.K..M.&.&.&.&
0000190: 9226 164d 644d b026 d43b af9a 5835 71d5  .&.MdM.&.;..X5q.
00001a0: c44d 1377 4d7c 6fd3 cdad a133 9a73 067b  .M.wM|o....3.s.{
00001b0: c1fe aeb9 4d4a 6634 c768 3e47 febf 42eb  ....MJf4.h>G..B.
00001c0: b2ad 7e24 bc19 b0fd 77d2 978c 5743 cf71  ..~$....w...WC.q
00001d0: 9a32 acf8 621e 6fc1 1e48 68fa 377c 96b1  .2..b.o..Hh.7|..
00001e0: 95f1 2063 94f1 28e3 49c6 b38c 9d8c bf64  .. c..(.I......d
00001f0: 7c91 31c9 d8cb 38c8 38ca 38c9 7891 7196  |.1...8.8.8.x.q.
0000200: 31cb 58b9 cb2a e355 c657 19df 647c 97f1  1.X..*.U.W..d|..
0000210: dec2 b666 babf 3466 ebdf e26c eff5 6727  ...f..4f...l..g'
0000220: 3efb f76f 5571 34e0 e9f7 1fe2 6a1f 6a55  >..oUq4.....j.jU
0000230: 0700 00                                  ...

Để sao chép tệp, thực hiện:

xxd -r > 57413.pl

dán hexdump và nhấn Enter, sau đó Ctrl+ D.

Chạy như:

perl 57413.pl <<< 'Hello, World!'
LATIN CAPITAL LETTER H
LATIN SMALL LETTER E
LATIN SMALL LETTER L
LATIN SMALL LETTER L
LATIN SMALL LETTER O
COMMA
SPACE
LATIN CAPITAL LETTER W
LATIN SMALL LETTER O
LATIN SMALL LETTER R
LATIN SMALL LETTER L
LATIN SMALL LETTER D
EXCLAMATION MARK

Phiên bản Perl thuần trước đây, 893 byte

print[SPACE,'EXCLAMATION MARK','QUOTATION MARK',NUMBER.($s=" SIGN"),DOLLAR.$s,PERCENT.$s,AMPERSAND,APOSTROPHE,LEFT.($p=" PARENTHESIS"),RIGHT.$p,ASTERISK,PLUS.$s,COMMA,'HYPHEN-MINUS','FULL STOP',$d=SOLIDUS,($d="DIGIT ").ZERO,$d.ONE,$d.TWO,$d.THREE,$d.FOUR,$d.FIVE,$d.SIX,$d.SEVEN,$d.EIGHT,$d.NINE,COLON,SEMICOLON,"LESS-THAN$s",EQUALS.$s,"GREATER-THAN$s",'QUESTION MARK','COMMERCIAL AT',($b=($a=LATIN)." CAPITAL ".($l="LETTER ")).A,$b.B,$b.C,$b.D,$b.E,$b.F,$b.G,$b.H,$b.I,$b.J,$b.K,$b.L,$b.M,$b.N,$b.O,$b.P,$b.Q,$b.R,$b.S,$b.T,$b.U,$b.V,$b.W,$b.X,$b.Y,$b.Z,'LEFT SQUARE '.($e=BRACKET),"REVERSE $d","RIGHT SQUARE $e",'CIRCUMFLEX ACCENT','LOW LINE','GRAVE ACCENT',($m="$a SMALL $l ").A,$m.B,$m.C,$m.D,$m.E,$m.F,$m.G,$m.H,$m.I,$m.J,$m.K,$m.L,$m.M,$m.N,$m.O,$m.P,$m.Q,$m.R,$m.S,$m.T,$m.U,$m.V,$m.W,$m.X,$m.Y,$m.Z,"LEFT CURLY $e",'VERTICAL LINE',"RIGHT CURLY $e",TILDE]->[-32+ord$_].$/for<>=~/./g

5

ôi - 794 739

     1 LATIN VỐN B BNG B
     2 LATIN VỐN E
     3 LATIN VỐN G
     4 LATIN VỐN I
     5 LATIN VỐN THƯ N
     6 BẢNG HIỆN TẠI 
     7 LATIN NHỎ S L
     8 LATIN NHỎ LỚP P
     9 LATIN NHỎ LETTER L
    10 LATIN NHỎ
    11 LATIN NHỎ
    12 PHỤ HUYNH 
    13 BÁO GIÁ 
    14 LATIN NHỎ LỚP I
    15 COMMA 
    16 LATIN VỐN THƯỞNG L
    17 LATIN NHỎ THƯ V
    18 COMMA 
    19 LATIN VỐN THƯỞNG S
    20 LATIN NHỎ THƯ V
    21 COMMA 
    22 LATIN NHỎ THƯA A
    23 LATIN NHỎ THƯỞNG X
    24 COMMA 
    25 SỰ KIỆN CIRCUMFLEX 
    26 LATIN NHỎ BÀI X
    27 COMMA 
    28 ĐỒNG HỒ TRANG WEB 
    29 LATIN NHỎ THƯỞNG X
    30 COMMA 
    31 LATIN VỐN THƯ Q
    32 COMMA 
    33 LATIN VỐN O
    34 COMMA 
    35 LATIN NHỎ
    36 LATIN VỐN THƯỞNG K
    37 COMMA 
    38 LATIN NHỎ LỚP C
    39 LATIN VỐN THƯ K
    40 COMMA 
    41 LATIN VỐN THƯ V
    42 COMMA 
    43 LATIN NHỎ THƯ GIÃN Q
    44 LATIN NHỎ THƯỞNG X
    45 COMMA 
    46 LATIN NHỎ LỚP G
    47 COMMA 
    48 LATIN VỐN I
    49 COMMA 
    50 LATIN NHỎ
    51 LATIN NHỎ
    52 COMMA 
    53 LATIN VỐN THƯ X
    54 COMMA 
    55 LATIN NHỎ BÀI B
    56 LATIN NHỎ
    57 COMMA 
    58 LATIN NHỎ BÀI B
    59 ĐỒNG HỒ HIỆN TẠI 
    60 COMMA 
    61 LATIN NHỎ BÀI B
    62 LATIN NHỎ Z
    63 COMMA 
    64 LATIN NHỎ BÀI B
    65 LATIN NHỎ LỚP D
    66 COMMA 
    67 LATIN NHỎ BÀI B
    68 LATIN NHỎ LỚP P
    69 COMMA 
    70 LATIN NHỎ BÀI B
    71 LATIN NHỎ LETTER R
    72 COMMA 
    73 LATIN NHỎ BÀI B
    74 QUYỀN HẠN 
    75 COMMA 
    76 LATIN NHỎ BÀI B
    77 LATIN NHỎ THƯ K
    78 COMMA 
    79 LATIN NHỎ BÀI B
    80 LATIN NHỎ LETTER L
    81 COMMA 
    82 LATIN NHỎ BÀI B
    83 LATIN NHỎ LỚP O
    84 COMMA 
    85 LATIN NHỎ THƯ E
    86 COMMA 
    87 LATIN VỐN P
    88 COMMA 
    89 LATIN VỐN THƯỞNG R
    90 LATIN NHỎ THƯỞNG X
    91 COMMA 
    92 LINE thấp 
    93 LATIN NHỎ THƯỞNG X
    94 COMMA 
    95 LATIN VỐN THƯ J
    96 LATIN NHỎ THƯỞNG X
    97 COMMA 
    98 LATIN VỐN THƯ U
    99 LATIN NHỎ THƯ V
   100 COMMA 
   101 LATIN VỐN THƯ M
   102 TILDE 
   103 COMMA 
   104 KHÔNG GIAN 
   105 LATIN NHỎ
   106 GRAVE ACCENT 
   107 LATIN VỐN Y
   108 COMMA 
   109 LATIN VỐN THƯ Z
   110 LATIN VỐN THƯ X
   111 COMMA 
   112 LATIN NHỎ LỚP C
   113 GRAVE ACCENT 
   114 LATIN VỐN Y
   115 COMMA 
   116 LATIN VỐN THƯ N
   117 RẮN RẮN 
   118 GIẢI PHÁP 
   119 COMMA 
   DÒNG CHỨNG NHẬN 120 
   121 LATIN NHỎ THƯỞNG
   122 COMMA 
   123 LATIN NHỎ M M
   124 GIẢI PHÁP 
   125 GIẢI PHÁP 
   126 COMMA 
   127 KHÔNG GIAN 
   128 LATIN NHỎ
   129 LATIN NHỎ HƠN
   130 LATIN VỐN Y
   COMMA 
   132 LATIN VỐN THƯ T
   133 LATIN NHỎ THƯỞNG
   134 COMMA 
   135 LATIN NHỎ LỚP C
   136 LATIN NHỎ HƠN
   137 LATIN VỐN Y
   138 COMMA 
   139 LATIN NHỎ F
   140 KHÔNG GIAN 
   141 LATIN VỐN H
   142 LATIN VỐN Y
   143 LATIN VỐN P
   144 LATIN VỐN H
   145 LATIN VỐN THƯỞNG E
   146 LATIN VỐN THƯ N
   HY SINH-PHÚT 
   148 LATIN VỐN THƯ M
   149 LATIN VỐN I
   150 LATIN VỐN THƯ N
   151 LATIN VỐN THƯ U
   152 LATIN VỐN THƯỞNG S
   153 KHÔNG GIAN 
   154 LATIN VỐN THƯ G
   155 LATIN VỐN THƯỞNG R
   156 LATIN VỐN THƯỞNG E
   157 LATIN VỐN A
   158 LATIN VỐN THƯ T
   159 LATIN VỐN E
   160 LATIN VỐN THƯỞNG
   161 HYPHEN-MINUS 
   162 LATIN VỐN THƯ T
   163 LATIN VỐN H
   164 LATIN VỐN A
   165 LATIN VỐN THƯ N
   166 KHÔNG GIAN 
   167 LATIN VỐN THƯỞNG P
   168 LATIN VỐN A
   169 LATIN VỐN R
   170 LATIN VỐN E
   171 LATIN VỐN THƯ N
   172 LATIN VỐN THƯ T
   173 LATIN VỐN H
   174 LATIN VỐN THƯỞNG E
   175 LATIN VỐN THƯỞNG S
   176 LATIN VỐN I
   177 LATIN VỐN THƯỞNG S
   KHÔNG GIAN 178 
   179 LATIN VỐN THƯỞNG E
   180 LATIN VỐN THƯ X
   181 LATIN VỐN THƯ C
   182 LATIN VỐN THƯỞNG L
   183 LATIN VỐN A
   184 LATIN VỐN THƯ M
   185 LATIN VỐN A
   186 LATIN VỐN THƯ T
   187 LATIN VỐN I
   188 LATIN VỐN O
   189 LATIN VỐN THƯ N
   190 KHÔNG GIAN 
   191 LATIN VỐN THƯ C
   192 LATIN VỐN O
   193 LATIN VỐN THƯ M
   194 LATIN VỐN THƯ M
   195 LATIN VỐN THƯỞNG E
   196 LATIN VỐN THƯỞNG R
   197 LATIN VỐN THƯ C
   198 LATIN VỐN I
   199 LATIN VỐN A
   200 LATIN VỐN THƯỞNG L
   KHÔNG GIAN 201 
   202 LATIN VỐN THƯ C
   203 LATIN VỐN I
   204 LATIN VỐN THƯỞNG
   205 LATIN VỐN THƯ C
   206 LATIN VỐN THƯ U
   207 LATIN VỐN THƯ M
   208 LATIN VỐN THƯỞNG F
   209 LATIN VỐN THƯỞNG L
   210 LATIN VỐN THƯỞNG E
   211 LATIN VỐN THƯ X
   212 KHÔNG GIAN 
   213 LATIN VỐN A
   214 LATIN VỐN THƯỞNG P
   215 LATIN VỐN O
   216 LATIN VỐN
   217 LATIN VỐN THƯ T
   218 LATIN VỐN R
   219 LATIN VỐN O
   220 LATIN VỐN THƯỞNG P
   221 LATIN VỐN H
   222 LATIN VỐN E
   KHÔNG GIAN 223 
   224 LATIN VỐN THƯỞNG S
   225 LATIN VỐN E
   226 LATIN VỐN THƯ M
   227 LATIN VỐN I
   228 LATIN VỐN THƯ C
   229 LATIN VỐN O
   230 LATIN VỐN THƯỞNG L
   231 LATIN VỐN O
   232 LATIN VỐN N
   233 KHÔNG GIAN 
   234 LATIN VỐN A
   235 LATIN VỐN THƯ M
   236 LATIN VỐN THƯỞNG P
   237 LATIN VỐN THƯỞNG E
   238 LATIN VỐN THƯỞNG R
   239 LATIN VỐN THƯỞNG S
   240 LATIN VỐN A
   241 LATIN VỐN THƯ N
   242 LATIN VỐN D
   KHÔNG GIAN 243 
   244 LATIN VỐN THƯỞNG L
   245 LATIN VỐN E
   246 LATIN VỐN THƯỞNG S
   247 LATIN VỐN THƯỞNG S
   HY SINH-PHÚT 
   249 LATIN VỐN THƯ T
   250 LATIN VỐN H
   251 LATIN VỐN A
   252 LATIN VỐN THƯ N
   KHÔNG GIAN 
   254 LATIN VỐN THƯ Q
   255 LATIN VỐN THƯ U
   256 LATIN VỐN O
   256 LATIN VỐN THƯ T
   258 LATIN VỐN A
   259 LATIN VỐN THƯ T
   260 LATIN VỐN I
   261 LATIN VỐN O
   262 LATIN VỐN THƯ N
   263 KHÔNG GIAN 
   264 LATIN VỐN THƯ V
   265 LATIN VỐN E
   266 LATIN VỐN THƯỞNG R
   267 LATIN VỐN THƯ T
   268 LATIN VỐN I
   269 ​​LATIN VỐN THƯ C
   270 LATIN VỐN A
   271 LATIN VỐN THƯỞNG L
   KHÔNG GIAN 
   273 LATIN VỐN THƯ Q
   274 LATIN VỐN THƯ U
   275 LATIN VỐN E
   276 LATIN VỐN THƯỞNG S
   277 LATIN VỐN THƯ T
   278 LATIN VỐN THƯ I
   279 LATIN VỐN O
   280 LATIN VỐN THƯ N
   281 KHÔNG GIAN 
   282 LATIN VỐN A
   283 LATIN VỐN THƯỞNG S
   284 LATIN VỐN THƯ T
   285 LATIN VỐN E
   286 LATIN VỐN THƯỞNG
   287 LATIN VỐN I
   288 LATIN VỐN S S
   289 LATIN VỐN THƯ K
   KHÔNG GIAN 
   291 LATIN VỐN THƯ C
   292 LATIN VỐN A
   293 LATIN VỐN THƯỞNG P
   294 LATIN VỐN THƯ I
   295 LATIN VỐN THƯ T
   296 LATIN VỐN A
   297 LATIN VỐN THƯ L
   KHÔNG GIAN 
   299 LATIN VỐN S S
   300 LATIN VỐN O
   301 LATIN VỐN THƯ L
   302 LATIN VỐN I
   303 LATIN VỐN D
   304 LATIN VỐN THƯ U
   305 LATIN VỐN
   306 KHÔNG GIAN 
   307 LATIN VỐN B
   308 LATIN VỐN THƯỞNG
   309 LATIN VỐN A
   310 LATIN VỐN THƯ C
   311 LATIN VỐN THƯỞNG K
   312 LATIN VỐN E
   313 LATIN VỐN
   KHÔNG GIAN 
   315 LATIN VỐN R
   316 LATIN VỐN E
   317 LATIN VỐN THƯ V
   318 LATIN VỐN E
   319 LATIN VỐN R
   320 LATIN VỐN THƯỞNG S
   321 LATIN VỐN THƯỞNG E
   322 KHÔNG GIAN 
   323 LATIN VỐN THƯỞNG P
   324 LATIN VỐN E
   325 LATIN VỐN THƯỞNG
   327 LATIN VỐN THƯ C
   327 LATIN VỐN E
   328 LATIN VỐN THƯ N
   329 LATIN VỐN THƯ T
   330 KHÔNG GIAN 
   331 LATIN VỐN A
   332 LATIN VỐN THƯ C
   333 LATIN VỐN THƯ C
   334 LATIN VỐN E
   335 LATIN VỐN THƯ N
   336 LATIN VỐN THƯ T
   KHÔNG GIAN 337 
   339 LATIN VỐN THƯỞNG L
   339 LATIN VỐN THƯỞNG E
   340 LATIN VỐN THƯ T
   341 LATIN VỐN THƯ T
   342 LATIN VỐN THƯỞNG E
   343 LATIN VỐN THƯỞNG
   344 KHÔNG GIAN 
   345 LATIN VỐN D
   346 LATIN VỐN THƯỞNG O
   347 LATIN VỐN THƯỞNG L
   348 LATIN VỐN THƯ L
   349 LATIN VỐN A
   350 LATIN VỐN R
   351 KHÔNG GIAN 
   352 LATIN VỐN THƯỞNG E
   353 LATIN VỐN THƯ Q
   354 LATIN VỐN THƯ U
   355 LATIN VỐN A
   356 LATIN VỐN THƯỞNG L
   357 LATIN VỐN THƯỞNG S
   KHÔNG GIAN 
   359 LATIN VỐN THƯỞNG S
   360 LATIN VỐN Q
   361 LATIN VỐN THƯ U
   362 LATIN VỐN A
   363 LATIN VỐN THƯỞNG R
   364 LATIN VỐN THƯỞNG E
   365 KHÔNG GIAN 
   365 LATIN VỐN THƯ N
   367 LATIN VỐN THƯ U
   368 LATIN VỐN THƯ M
   369 LATIN VỐN B
   370 LATIN VỐN THƯỞNG E
   371 LATIN VỐN THƯỞNG R
   372 KHÔNG GIAN 
   373 LATIN VỐN D
   374 LATIN VỐN THƯỞNG I
   375 LATIN VỐN G
   376 LATIN VỐN I
   377 LATIN VỐN THƯ T
   378 KHÔNG GIAN 
   379 LATIN VỐN THƯỞNG R
   380 LATIN VỐN I
   380 LATIN VỐN THƯ G
   382 LATIN VỐN H
   383 LATIN VỐN THƯ T
   384 KHÔNG GIAN 
   385 LATIN VỐN THƯ T
   386 LATIN VỐN H
   387 LATIN VỐN THƯỞNG R
   388 LATIN VỐN THƯỞNG E
   389 LATIN VỐN THƯỞNG E
   KHÔNG GIAN 
   391 LATIN VỐN THƯ C
   392 LATIN VỐN O
   393 LATIN VỐN THƯỞNG L
   394 LATIN VỐN O
   395 LATIN VỐN THƯ N
   396 KHÔNG GIAN 
   397 LATIN VỐN THƯ T
   398 LATIN VỐN THƯ I
   399 LATIN VỐN THƯỞNG L
   400 LATIN VỐN D
   401 LATIN VỐN THƯỞNG E
   KHÔNG GIAN 
   403 LATIN VỐN THƯ C
   404 LATIN VỐN THƯỞNG O
   405 LATIN VỐN THƯ M
   406 LATIN VỐN THƯ M
   407 LATIN VỐN A
   408 KHÔNG GIAN 
   409 LATIN VỐN THƯ C
   410 LATIN VỐN THƯ U
   411 LATIN VỐN THƯỞNG R
   412 LATIN VỐN THƯ L
   413 LATIN VỐN Y
   414 KHÔNG GIAN 
   415 LATIN VỐN THƯỞNG S
   420 LATIN VỐN THƯỞNG P
   417 LATIN VỐN A
   418 LATIN VỐN THƯ C
   419 LATIN VỐN THƯỞNG E
   420 KHÔNG GIAN 
   421 LATIN VỐN THƯỞNG S
   422 LATIN VỐN THƯ M
   423 LATIN VỐN A
   424 LATIN VỐN THƯỞNG L
   425 LATIN VỐN THƯỞNG L
   426 KHÔNG GIAN 
   427 LATIN VỐN THƯỞNG S
   428 LATIN VỐN E
   429 LATIN VỐN THƯ V
   430 LATIN VỐN E
   431 LATIN VỐN THƯ N
   432 KHÔNG GIAN 
   433 LATIN VỐN E
   434 LATIN VỐN I
   435 LATIN VỐN THƯ G
   436 LATIN VỐN H
   437 LATIN VỐN THƯ T
   438 KHÔNG GIAN 
   439 LATIN VỐN THƯ G
   440 LATIN VỐN R
   441 LATIN VỐN A
   438 LATIN VỐN THƯ V
   443 LATIN VỐN THƯỞNG E
   KHÔNG GIAN 
   445 LATIN VỐN THƯỞNG L
   446 LATIN VỐN A
   447 LATIN VỐN THƯ T
   448 LATIN VỐN I
   449 LATIN VỐN THƯ N
   450 KHÔNG GIAN 
   451 LATIN VỐN THƯ N
   452 LATIN VỐN THƯỞNG I
   453 LATIN VỐN THƯ N
   454 LATIN VỐN THƯỞNG E
   KHÔNG GIAN 
   456 LATIN VỐN THƯỞNG F
   457 LATIN VỐN O
   458 LATIN VỐN THƯ U
   459 LATIN VỐN THƯỞNG
   460 KHÔNG GIAN 
   461 LATIN VỐN THƯỞNG P
   462 LATIN VỐN THƯỞNG L
   463 LATIN VỐN THƯ U
   464 LATIN VỐN THƯỞNG S
   KHÔNG GIAN 
   466 LATIN VỐN THƯỞNG F
   46 LATIN VỐN THƯ I
   468 LATIN VỐN THƯ V
   469 LATIN VỐN THƯỞNG E
   KHÔNG GIAN 470 
   471 LATIN VỐN THƯỞNG L
   472 LATIN VỐN I
   473 LATIN VỐN THƯ N
   474 LATIN VỐN THƯỞNG E
   KHÔNG GIAN 
   476 LATIN VỐN THƯỞNG L
   477 LATIN VỐN THƯỞNG E
   478 LATIN VỐN THƯỞNG F
   479 LATIN VỐN THƯ T
   480 KHÔNG GIAN 
   480 LATIN VỐN THƯỞNG S
   482 LATIN VỐN THƯ T
   483 LATIN VỐN O
   484 LATIN VỐN THƯỞNG P
   485 KHÔNG GIAN 
   486 LATIN VỐN THƯ M
   487 LATIN VỐN A
   488 LATIN VỐN THƯỞNG R
   489 LATIN VỐN THƯỞNG K
   KHÔNG GIAN 
   491 LATIN VỐN THƯỞNG F
   492 LATIN VỐN THƯ U
   493 LATIN VỐN THƯỞNG L
   494 LATIN VỐN THƯỞNG L
   495 KHÔNG GIAN 
   496 LATIN VỐN THƯỞNG S
   497 LATIN VỐN THƯ I
   498 LATIN VỐN THƯ G
   499 LATIN VỐN THƯ N
   500 KHÔNG GIAN 
   501 LATIN VỐN THƯ Z
   502 LATIN VỐN E
   503 LATIN VỐN R
   504 LATIN VỐN O
   KHÔNG GIAN 
   506 LATIN VỐN THƯ T
   507 LATIN VỐN THƯỞNG W
   508 LATIN VỐN O
   509 KHÔNG GIAN 
   510 LATIN VỐN O
   511 LATIN VỐN THƯ N
   512 LATIN VỐN E
   513 KHÔNG GIAN 
   514 LATIN VỐN THƯỞNG L
   515 LATIN VỐN O
   516 LATIN VỐN THƯỞNG W
   517 KHÔNG GIAN 
   518 LATIN VỐN THƯỞNG S
   519 LATIN VỐN I
   520 LATIN VỐN THƯ X
   521 KHÔNG GIAN 
   522 LATIN VỐN A
   523 LATIN VỐN THƯ T
   524 KẾT QUẢ 
   525 COMMA 
   526 LATIN NHỎ
   527 PHỤ HUYNH 
   528 SEMICOLON 
   529 LATIN NHỎ LỚP Y
   530 ĐĂNG KÝ THIẾT BỊ 
   531 LATIN NHỎ
   NỀN TẢNG QUẦN ÁO 
   533 SỐ LƯỢNG HAI 
   534 ĐỒNG HỒ ĐÚNG SQUARE 
   535 SEMICOLON 
   536 LATIN NHỎ F
   537 LATIN NHỎ LỚP
   538 LATIN NHỎ LETTER R
   539 PHỤ HUYNH 
   540 LATIN NHỎ THƯỞNG X
   541 ĐĂNG KÝ THIẾT BỊ 
   542 LATIN NHỎ
   543 ĐỒNG HỒ TRANG WEB 
   544 SỐ LƯỢNG MỘT 
   545 ĐỒNG HỒ ĐÚNG SQUARE 
   546 SEMICOLON 
   547 LATIN NHỎ
   548 ĐĂNG KÝ 
   ĐĂNG KÝ 549 
   DẤU HIỆU 550 LESS-THAN 
   551 SỐ LƯỢNG HAI 
   552 SỬA CHỮA 
   553 SEMICOLON 
   554 LATIN NHỎ THƯỞNG X
   ĐĂNG KÝ THIẾT BỊ 
   556 LATIN NHỎ THƯỞNG X
   557 ĐÁNH GIÁ 
   558 LATIN NHỎ THƯ N
   559 LATIN VỐN THƯỞNG W
   ĐỒNG HỒ ĐẦY ĐỦ 560 
   561 COMMA 
   562 ĐÁNH GIÁ 
   563 PHỤ HUYNH 
   564 LATIN NHỎ
   DẤU HIỆU THIẾT BỊ 
   566 LATIN NHỎ
   567 ĐÁNH GIÁ 
   568 LATIN NHỎ THƯ N
   569 LATIN NHỎ THƯ GIÃN J
   ĐỒNG HỒ QUẦN ÁO 570 
   571 COMMA 
   572 SỐ BÁO GIÁ 
   573 SEMICOLON 
   574 LATIN NHỎ F
   575 LATIN NHỎ LỚN
   576 LATIN NHỎ LETTER R
   577 PHỤ HUYNH 
   578 LATIN NHỎ THƯỞNG
   579 LATIN NHỎ LỚP P
   580 LATIN NHỎ LETTER L
   581 LATIN NHỎ
   582 LATIN NHỎ
   583 PHỤ HUYNH 
   584 LATIN NHỎ THƯỞNG X
   585 KHÔNG GIAN 
   586 LATIN NHỎ
   587 KHÔNG GIAN 
   588 LATIN NHỎ
   589 ĐỒNG HỒ TRANG WEB 
   590 SỐ LƯỢNG BA 
   591 ĐỒNG HỒ SQUARE 
   592 COMMA 
   593 LATIN NHỎ BÀI B
   594 COMMA 
   595 KẾT QUẢ 
   596 COMMA 
   597 ĐÁNH GIÁ 
   598 PHỤ HUYNH 
   599 SEMICOLON 
   600 LATIN NHỎ THƯ GIÃN J
   ĐĂNG KÝ 
   ĐĂNG KÝ 602 
   603 DẤU HIỆU 
   604 SỐ LƯỢNG MỘT 
   605 SỐ LƯỢNG HAI 
   SỬA ĐỔI SỐ 60 
   607 SEMICOLON 
   608 LATIN VỐN THƯỞNG F
   609 LATIN VỐN THƯỞNG S
   DẤU HIỆU THIẾT BỊ 610 
   611 LINE thấp 
   612 PHỤ HUYNH 
   613 LATIN NHỎ THƯ GIÃN
   614 ĐỒNG HỒ TRANG WEB 
   615 LATIN NHỎ THƯỞNG
   616 LATIN NHỎ LỚP P
   617 LATIN NHỎ LETTER R
   618 LATIN NHỎ
   619 LATIN NHỎ THƯ N
   620 LATIN NHỎ
   621 LATIN NHỎ F
   PHỤ HUYNH TRÁI PHIẾU 
   623 ĐÁNH GIÁ 
   624 ĐĂNG KÝ 
   625 LATIN NHỎ LỚP C
   DẠNG SỐ BÁO CÁO 
   627 COMMA 
   628 LATIN NHỎ THƯ GIÃN J
   629 PHỤ HUYNH 
   NỀN TẢNG 630 
   631 ĐĂNG KÝ THIẾT BỊ 
   632 LATIN NHỎ THƯ GIÃN J
   633 QUYỀN HẠN 
   634 ĐỒNG HỒ HIỆN TẠI 
   635 LATIN NHỎ F
   636 LATIN NHỎ
   637 LATIN NHỎ LETTER R
   638 PHỤ HUYNH 
   639 LATIN NHỎ KẾT THÚC K
   640 TÍN HIỆU ĐĂNG KÝ 
   641 SỐ TIỀN 
   642 SEMICOLON 
   643 LATIN NHỎ THƯ K
   644 ĐĂNG KÝ 
   645 ĐĂNG KÝ 
   646 DẤU HIỆU 
   647 LATIN VỐN THƯ N
   648 LATIN VỐN THƯỞNG F
   649 SEMICOLON 
   650 LATIN NHỎ LỚP P
   651 LATIN NHỎ LETTER R
   652 LATIN NHỎ
   653 LATIN NHỎ THƯ N
   654 LATIN NHỎ
   655 KHÔNG GIAN 
   656 LATIN NHỎ
   657 ĐĂNG KÝ THIẾT BỊ 
   658 LINE thấp 
   659 PHỤ HUYNH 
   660 LATIN NHỎ
   661 LATIN NHỎ HƠN
   662 LATIN NHỎ LỚP I
   663 LATIN NHỎ LETTER L
   664 LATIN NHỎ THƯ E
   665 PHỤ HUYNH 
   666 LATIN NHỎ
   667 ĐĂNG KÝ 
   668 ĐĂNG KÝ 
   669 LESS-THAN ĐĂNG KÝ 
   670 LATIN NHỎ
   671 LATIN NHỎ LỚP P
   672 LATIN NHỎ LETTER L
   673 LATIN NHỎ LỚP I
   674 LATIN NHỎ
   675 PHỤ HUYNH 
   676 LATIN NHỎ BÀI B
   677 ĐỒNG HỒ TRANG WEB 
   678 LATIN NHỎ THƯ GIÃN
   679 ĐỒNG HỒ TRANG WEB 
   ĐĂNG KÝ DOLLAR 
   681 LATIN NHỎ THƯỞNG K
   682 ĐỒNG HỒ SQUARE 
   683 HYPHEN-MINUS 
   684 SỐ LƯỢNG BA 
   685 SỐ LƯỢNG MỘT 
   686 VÒI SQUARE 
   68 COMMA 
   688 LATIN NHỎ
   689 PHỤ HUYNH 
   690 PHỤ HUYNH 
   691 LATIN NHỎ LỚP P
   692 LATIN NHỎ LETTER R
   693 LATIN NHỎ
   694 LATIN NHỎ THƯ N
   695 LATIN NHỎ
   696 LATIN NHỎ F
   697 PHỤ HUYNH 
   698 LATIN NHỎ Z
   699 ĐĂNG KÝ THIẾT BỊ 
   700 LATIN NHỎ
   701 ĐỒNG HỒ TRANG WEB 
   702 LATIN NHỎ THƯ GIÃN
   703 ĐỒNG HỒ TRANG WEB 
   704 LATIN NHỎ THƯ GIÃN Q
   705 ĐỒNG HỒ TRANG WEB 
   706 LATIN NHỎ
   707 QUYỀN SQUARE 
   708 QUYỀN SQUARE 
   709 HYPHEN-MINUS 
   SỬA ĐỔI SỐ 710 
   711 TIẾNG VIỆT 
   712 ĐỒNG HỒ SQUARE 
   713 PHỤ HUYNH 
   714 KẾT QUẢ 
   715 KHÔNG GIAN 
   716 KẾT QUẢ 
   717 PHỤ HUYNH 
   718 LATIN NHỎ Z
   719 TILDE 
   720 RẮN 
   721 LATIN VỐN THƯ T
   722 LATIN VỐN THƯ T
   723 RẮN 
   724 CÂU HỎI THƯỜNG GẶP 
   725 LATIN NHỎ
   726 LATIN NHỎ THƯ O
   727 LATIN NHỎ
   728 LATIN NHỎ LỚP P
   729 LATIN NHỎ LỚP P
   730 LATIN NHỎ E
   731 LATIN NHỎ LETTER R
   732 PHỤ HUYNH 
   733 DOLLAR ĐĂNG KÝ 
   734 LATIN NHỎ
   735 PHỤ HUYNH 
   736 MÀU 
   737 LINE thấp 
   738 PHỤ HUYNH 
   739 QUYỀN HẠN

Đùa thôi

BEGIN{split("i,Lv,Sv,ax,^x,[x,Q,O,tK,cK,V,qx,g,I,wu,X,by,b{,bz,bd,bp,br,b},bk,bl,bo,e,P,Rx,_x,Jx,Uv,M~, t`Y,ZX,c`Y,N\\,|s,m\\, thY,Ts,chY,f HYPHEN-MINUS GREATER-THAN PARENTHESIS EXCLAMATION COMMERCIAL CIRCUMFLEX APOSTROPHE SEMICOLON AMPERSAND LESS-THAN QUOTATION VERTICAL QUESTION ASTERISK CAPITAL SOLIDUS BRACKET REVERSE PERCENT ACCENT LETTER DOLLAR EQUALS SQUARE NUMBER DIGIT RIGHT THREE COLON TILDE COMMA CURLY SPACE SMALL SEVEN EIGHT GRAVE LATIN NINE FOUR PLUS FIVE LINE LEFT STOP MARK FULL SIGN ZERO TWO ONE LOW SIX AT",w);x=w[1];for(y=w[2];C++<26;x=x"nW],")y=y"nj],";for(split(x y w[3],b,",");j++<126;FS=_)d[sprintf("%c",j)]=j}{for(k=0;k++<NF;print i=_)while(i++<split(b[d[$k]-31],q))printf(z=w[d[q[i]]-69])" "(z~/TT/?toupper($k):_)}

Hoạt động với stdin / stdout.

"Dễ đọc" hơn:

BEGIN{

  # This string (508 bytes) holds a representation of the character names in 
  # the right order, plus a list of the used words.

    split("i,Lv,Sv,ax,^x,[x,Q,O,tK,cK,V,qx,g,I,wu,X,by,b{,bz,bd,bp,br,b},bk,bl,bo,
    e,P,Rx,_x,Jx,Uv,M~, t`Y,ZX,c`Y,N\\,|s,m\\, thY,Ts,chY,f HYPHEN-MINUS GREATER-T
    HAN PARENTHESIS EXCLAMATION COMMERCIAL CIRCUMFLEX APOSTROPHE SEMICOLON AMPERSA
    ND LESS-THAN QUOTATION VERTICAL QUESTION ASTERISK CAPITAL SOLIDUS BRACKET REVE
    RSE PERCENT ACCENT LETTER DOLLAR EQUALS SQUARE NUMBER DIGIT RIGHT THREE COLON
    TILDE COMMA CURLY SPACE SMALL SEVEN EIGHT GRAVE LATIN NINE FOUR PLUS FIVE LINE
     LEFT STOP MARK FULL SIGN ZERO TWO ONE LOW SIX AT",w);

  # Since the letters each appear 26 times I construct that part at runtime.
  # The array b will hold the coded combinations of which words need to
  # be printed for each input character.

    x=w[1];
    for(y=w[2];C++<26;x=x"nW],")
        y=y"nj],";

  # The array d is an ASCIICodeFromChar function replacement.
  # I set the field separator to empty, so each character of the input is
  # an input field. That's why using a BEGIN part was mandatory.

    for(split(x y w[3],b,",");j++<126;FS=_)
        d[sprintf("%c",j)]=j
}

  # Here I go through the element of b that matches the input and print
  # the requested words, using the input to produce a capital letter if
  # needed. I excluded these from the word list to save another 26 bytes

{
    for(k=0;k++<NF;print i=_)
        while(i++<split(b[d[$k]-31],q))
            printf(z=w[d[q[i]]-69])" "(z~/TT/?toupper($k):_)
}

5

C ++ 11, 739 byte

#include<iostream>
#define D,"DIGIT "
#define G" SIGN",
int main(){std::string a=" BRACKET",s="SQUARE"+a,c="CURLY"+a,t="TION MARK",p="PARENTHESIS",l="LEFT ",r="RIGHT ",x="LATIN ",y="L LETTER ",z[]{"SPACE","EXCLAMA"+t,"QUOTA"+t,"NUMBER"G"DOLLAR"G"PERCENT"G"AMPERSAND","APOSTROPHE",l+p,r+p,"ASTERISK","PLUS"G"COMMA","HYPHEN-MINUS","FULL STOP","SOLIDUS"D"ZERO"D"ONE"D"TWO"D"THREE"D"FOUR"D"FIVE"D"SIX"D"SEVEN"D"EIGHT"D"NINE","COLON","SEMICOLON","LESS-THAN"G"EQUALS"G"GREATER-THAN"G"QUES"+t,"COMMERCIAL AT",l+s,"REVERSE SOLIDUS",r+s,"CIRCUMFLEX ACCENT","LOW LINE","GRAVE ACCENT",l+c,"VERTICAL LINE",r+c,"TILDE"};getline(std::cin,s);for(char c:s)std::cout<<(c<65?z[c-32]:c<91?x+"CAPITA"+y+c:(c-=32,c<65?z[c-26]:c<91?x+"SMAL"+y+c:z[c-52]))+"\n";}

Dựa trên giải pháp của sweerpotato, nhưng đã được sửa đổi rất nhiều.


Hoàn thành tốt: ~)!
sweerpotato

5

C, 644 656

Chương trình đầy đủ, đọc từ đầu vào tiêu chuẩn

Thử nghiệm trên Ideone

Đây là phần chuyển câu trả lời JavaScript của tôi sang C. Ngôn ngữ C rất tốt trong việc điều khiển các ký tự đơn dưới dạng số (không cần .toUpperCasevà tương tự), nhưng nó yếu hơn trong thao tác chuỗi.

char*s,*p,*q,b[999],*d=b+99,c,*l[129];
main(k){for(k=32,p="/SPACE/EXCLAMAaQUOTAaNUMBERbDOLLARbPERCENTbAMPERSAND/APOSTROPHEdcecASTERISK/PLUSbCOMMA/HYPHEN-MINUS/FULL STOP/hiZEROiONEiTWOiTHREEiFOURiFIVEiSIXiSEVENiEIGHTiNINE/gSEMIgLESSnbEQUALSbGREATERnbQUESaCOMMERCIAL ATdkfREVERSE h/ekfCIRCUMFLEXj/LOWmGRAVEjdlfVERTICALmelfTILDE/";
c=*p;p++)c>96?q?(p=q,q=0):(q=p,p=strchr("aTION MARK/b SIGN/cPARENTHESIS/d/LEFT eRIGHT f BRACKET/gCOLON/hSOLIDUSi/DIGIT j ACCENTkSQUARElCURLYm LINE/n-THANz",c)):c-47?*d++=c:(*d++=0,l[k++]=d);
for(;~(k=getchar());puts(k<65?l[k]:(k&31)<27?b:l[k<97?k-26:k-52]))sprintf(b,"LATIN %s LETTER %c",k<91?"CAPITAL":"SMALL",k&95);}

Ít chơi gôn

char *all = "/SPACE/EXCLAMAaQUOTAaNUMBERbDOLLARbPERCENTbAMPERSAND/APOSTROPHEdcecASTERISK/PLUSbCOMMA/HYPHEN-MINUS/FULL STOP/hiZEROiONEiTWOiTHREEiFOURiFIVEiSIXiSEVENiEIGHTiNINE/gSEMIgLESSnbEQUALSbGREATERnbQUESaCOMMERCIAL ATdkfREVERSE h/ekfCIRCUMFLEXj/LOWmGRAVEjdlfVERTICALmelfTILDE/";
char *subs = "aTION MARK/b SIGN/cPARENTHESIS/d/LEFT eRIGHT f BRACKET/gCOLON/hSOLIDUSi/DIGIT j ACCENTkSQUARElCURLYm LINE/n-THANz";

main(int k)
{
    char c, *s, *p, *q=0, 
    b[999], // work buffer
    *d = b+99, // first part of buffer is used later
    *l[129]; // characters descriptions (used 32 to 126)

    // Uncompress the descriptions of all char except letters
    for(k = 32, p = all; c = *p; ++p)
    {
       c >= 'a' // substitution word are marked as lowercase letters
        ? q  
           ? (p = q, q = 0)
           : (q = p, p = strchr(subs, c))
        : c != '/'
           ? *d++ = c 
           : (*d++ = 0, l[k++] = d); // end char description
    }
    // Scan the input string and print each char description
    for(; (k=getchar()) != -1; )
    {
       sprintf(b,"LATIN %s LETTER %c", k<91 ? "CAPITAL":"SMALL", k & 95);
       puts( k<65 ? l[k] : k<91 ? b : k<97 ? l[k-26] : k<123 ? b : l[k-52]);
    }
}

4

Lisp thường gặp (SBCL), 52 79

(map()(lambda(y)(format t"~:@(~A~)~%"(substitute #\  #\_(char-name y))))(read))

Điều này được tích hợp và phụ thuộc vào việc triển khai, vì vậy bạn có thể muốn bỏ qua nó khi chọn câu trả lời được chấp nhận. Điều này là không đủ để đánh bại Python , thật không may. Phiên bản cập nhật phù hợp với đầu ra dự kiến ​​(tôi phải thay thế dấu gạch dưới bằng dấu cách).

Thí dụ

CL-USER> (map()(lambda(y)(format t"~:@(~A~)~%"(substitute #\  #\_(char-name y))))(read))
"(λ(r)(* 2 ᴨ r))"
LEFT PARENTHESIS
GREEK SMALL LETTER LAMDA
LEFT PARENTHESIS
LATIN SMALL LETTER R
RIGHT PARENTHESIS
LEFT PARENTHESIS
ASTERISK
SPACE
DIGIT TWO
SPACE
GREEK LETTER SMALL CAPITAL PI
SPACE
LATIN SMALL LETTER R
RIGHT PARENTHESIS
RIGHT PARENTHESIS


4

C ++ 14, 1043 1000 998 996 972 byte

Giải pháp kỳ cục trong C ++ 14:

#include<iostream>
#include<map>
#define b cout
#define d string
#define e },{
using namespace std;char l='\n';d s[]{"DIGIT ","LATIN CAPITAL LETTER ","LATIN SMALL LETTER "};map<char, d> m{{' ',"SPACE"e'!',"EXCLAMATION MARK"e'\"',"QUOTATION MARK"e'#',"NUMBER SIGN"e'$',"DOLLAR SIGN"e'%',"PERCENT SIGN"e'&',"AMPERSAND"e'\'',"APOSTROPHE"e'(',"LEFT PARENTHESIS"e')',"RIGHT PARENTHESIS"e'*',"ASTERISK"e'+',"PLUS SIGN"e',',"COMMA"e'-',"HYPHEN-MINUS"e'.',"FULL STOP"e'/',"SOLIDUS"e':',"COLON"e';',"SEMICOLON"e'<',"LESS-THAN SIGN"e'=',"EQUALS SIGN"e'>',"GREATER-THAN SIGN"e'?',"QUESTION MARK"e'@',"COMMERCIAL AT"e'[',"LEFT SQUARE BRACKET"e'\\',"REVERSE SOLIDUS"e']',"RIGHT SQUARE BRACKET"e'^',"CIRCUMFLEX ACCENT"e'_',"LOW LINE"e'`',"GRAVE ACCENT"e'{',"LEFT CURLY BRACKET"e'|',"VERTICAL LINE"e'}',"RIGHT CURLY BRACKET"e'~',"TILDE"}};int main(){d str;getline(cin,str);for(char c:str){islower(c)?b<<s[2]<<(char)(c-32):isupper(c)?b<<s[1]<<c:isdigit(c)?b<<*s<<c:b<<m.at(c);b<<l;}}

Cảm ơn kirbyfan64sos vì đã chơi golf hai byte


Bạn có thể làm *sthay vì s[0]?
kirbyfan64sos

Chắc chắn có thể! Hoàn toàn bỏ lỡ điều đó
sweerpotato

3

CJam, 517

l{i32-["SPACE""EXCLAMA""TION MARK":T+"QUOTA"T+"NUMBER DOLLAR PERCENT"{S/" SIGN"am*~}:H~"AMPERSAND""APOSTROPHE""LEFT PARENTHESIS":L"RIGHT ":R1$5>+"ASTERISK""PLUS"H"COMMA""HYPHEN-MINUS""FULL STOP""SOLIDUS":D"DIGIT "a"ZERO ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE"S/m*~"COLON""SEMI"1$+"LESS-THAN EQUALS GREATER-THAN"H"QUES"T+"COMMERCIAL AT""CAPITA"{["LATIN "\"L LETTER "]a'[,65>m*~L5<}:Z~"SQUARE BRACKET":Q+"REVERSE "D+RQ+"CIRCUMFLEX ACCENT""LOW LINE""GRAVE"2$A>+"SMAL"Z"CURLY"33$B>+:C+"VERTICAL LINE"RC+"TILDE"]=N}/

Phiên bản trực tuyến

Tôi đã thử các giải pháp khác nhau nhưng chỉ đơn giản là lưu trữ tất cả các tên trong một mảng lớn có vẻ hiệu quả nhất.

Đây là chương trình thực sự đầu tiên của tôi.


3

C ++ 14 716 706 704

#include<iostream>
char*q,x,b[584],*t=b,a[]=R"(space}exclamation|mark}quot"-number|sign}dolla!apercent!mam"%sand}apostrophe}left|par%3hesis}righ"Wasterisk}plus*<comma}hy)#n{minus}full|stop}solid"Ldigit|zero!Tone!Gtw"kthre#&four!Uiv#&six!Heve>^!_e6r!ani,1colon}semi!Fless{than8Eequal:$grea<s$2quesMj>EJoial|at}lQ9n|capit"?let('|Jes+\re|bracket}r5urse|C5M?%2circumflex|acXR}low|l:bgrave#'0=smaNy0+curly*s/Ytic4z)$/\$itilde)",*s=a;int c,z,l='{';int main(){for(;x=*s++;)if(z=x-32,x>96)*t++=x<l?z:"- "[x%l];else for(c=z*95+*s++-32,q=t-c/13,x=3+c%13;x--;)*t++=*q++;while(std::cin.get(x)){for(s=b,z=0,c=x<65?x-32:x<91?z=33:x<97?x-57:x<l?z=40:x-82;c--;)while(*s++);auto&o=std::cout<<s;(z?o.put(x&~32):o)<<"\n";}}

Phiên bản trực tiếp .

Với một số khoảng trắng:

#include <iostream>

// a is compressed using an LZ like compression scheme
char *q, x, b[584],
    *t = b,
    a[] =
        R"(space}exclamation|mark}quot"-number|sign}dolla!apercent!mam"%sand}apostrophe}left|par%3hesis}righ"Wasterisk}plus*<comma}hy)#n{minus}full|stop}solid"Ldigit|zero!Tone!Gtw"kthre#&four!Uiv#&six!Heve>^!_e6r!ani,1colon}semi!Fless{than8Eequal:$grea<s$2quesMj>EJoial|at}lQ9n|capit"?let('|Jes+\re|bracket}r5urse|C5M?%2circumflex|acXR}low|l:bgrave#'0=smaNy0+curly*s/Ytic4z)$/\$itilde)",
    *s = a;

int c, z, l = '{';

int main() {
    // Decompress from a into b
    for (; x = *s++;)
        if (z = x - 32, x > 96)
            *t++ = x < l ? z : "- "[x % l];
        else
            for (c = z * 95 + *s++ - 32, q = t - c / 13, x = 3 + c % 13; x--;) *t++ = *q++;

    // Process input a char at a time, performing a lookup into b for the c'th null separated string
    while (std::cin.get(x)) {
        for (s = b, z = 0,
            c = x < 65 ? x - 32 : x < 91 ? z = 33 : x < 97 ? x - 57 : x < l ? z = 40 : x - 82;
             c--;)
            while (*s++)
                ;
        auto& o = std::cout << s;
        (z ? o.put(x & ~32) : o) << "\n";
    }
}

Chuỗi anén giải nén thành:

dấu cách} dấu chấm than | dấu} trích dẫn | dấu} số | dấu} đô la | dấu} phần trăm | dấu} dấu và dấu ngoặc đơn} trái | dấu ngoặc đơn} phải | dấu ngoặc đơn} dấu | dấu phẩy} dấu gạch ngang {dấu trừ} đầy đủ solidus} chữ số | zero} chữ số | một} chữ số | hai} chữ số | ba} chữ số | bốn} chữ số | năm} chữ số | sáu} chữ số | bảy} chữ số | tám} chữ số dấu} bằng | dấu} lớn hơn {hơn | dấu} câu hỏi | dấu} thương mại | tại} latin | capital | chữ |} trái | vuông | ngoặc} đảo ngược | solidus} phải | vuông | ngoặc} dấu mũ | dấu} thấp | dòng } grave | accent} latin | small | letter |} left | xoăn | ngoặc} dọc | line} phải | xoăn | ngoặc} dấu ngã

Và trong thời gian giải nén }được thay thế bằng \0, |với (không gian) và {với -hoa và chữ thường được chuyển đổi thành chữ hoa.

Chuỗi được nén theo kiểu LZ theo nghĩa đen [a-~]hoặc hai ký tự được mã hóa bù / độ dài cho khớp với trước đó trong chuỗi.


3

Clojure, 56 byte

(doseq[c(read-line)](println(Character/getName(int c))))

Lấy cảm hứng từ câu trả lời của @ peter. Sử dụng Clojure cho interop Java.


3

Perl - 894 byte

Yêu thương làm bằng tay. Lần đầu tiên chơi golf ở Perl vì vậy bất kỳ lời khuyên nào cũng được đánh giá cao.

$_=$ARGV[0];s/(.)/$1\n/g;s/([A-Z])/& CAPITAL' $1/g;s/([a-z])/& SMALL' \U$1/g;s/,/COMMA/g;s/& /LATIN /g;s/' / LETT, /g;s/&/AMP,SAND/g;s/'/APOSTROPHE/g;s/ \n/SPACE\n/g;s/\*/AST,ISK/g;s/-/HYPHEN-MINUS/g;s/\./FULL STOP/g;s/@/COMM,CIAL AT/g;s/~/TILDE/g;s/:/&/g;s/;/SEMI&/g;s/&/COLON/g;s/\|/V,TICAL&/g;s/_/LOW&/g;s/&/ LINE/g;s/\^/CIRCUMFLEX&/g;s/`/GRAVE&/g;s/&/ ACCENT/g;s/\//&/g;s/\\/REV,SE &/g;s/&/SOLIDUS/g;s/!/!&/g;s/"/"&/g;s/\?/?&/g;s/!/EXCLAMA/g;s/"/QUOTA/g;s/\?/QUES/g;s/&/TION MARK/g;s/#/NUMB,&/g;s/\$/DOLLAR&/g;s/%/P,CENT&/g;s/\+/PLUS&/g;s/</LESS-THAN&/g;s/=/EQUALS&/g;s/>/GREAT,-THAN&/g;s/&/ SIGN/g;s/\(/<&/g;s/\)/>&/g;s/&/ PARENTHESIS/g;s/\[/<&/g;s/\]/>&/g;s/&/ SQUARE'/g;s/{/<&/g;s/}/>&/g;s/&/ CURLY'/g;s/'/ BRACKET/g;s/</LEFT/g;s/>/RIGHT/g;s/0/&Z,O/g;s/1/&ONE/g;s/2/&TWO/g;s/3/&THREE/g;s/4/&FOUR/g;s/5/&FIVE/g;s/6/&SIX/g;s/7/&SEVEN/g;s/8/&EIGHT/g;s/9/&NINE/g;s/&/DIGIT /g;s/,/ER/g;print;

1

Yếu tố, 58 byte

[ readln [ char>name "-"" " replace >upper print ] each ] 

Khá đơn giản; thực hiện chính xác điều tương tự như câu trả lời của Java và Perl 6.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.