Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

enc2xs - Trực tuyến trên đám mây

Chạy enc2xs trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh enc2xs có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


enc2xs - Trình tạo mô-đun mã hóa Perl

SYNOPSIS


enc2xs - [tùy chọn]
enc2xs -M ModName mapfiles ...
enc2xs -C

MÔ TẢ


enc2xs xây dựng một phần mở rộng Perl để sử dụng bằng cách Mã hóa từ một trong hai Bản đồ ký tự Unicode
các tệp (.ucm) hoặc Tcl Mã hóa Tệp (.enc). Bên cạnh việc được sử dụng nội bộ trong quá trình xây dựng
quy trình của mô-đun Mã hóa, bạn có thể sử dụng enc2xs để thêm mã hóa của riêng bạn vào perl. Không
kiến thức về XS là cần thiết.

Nhanh chóng Hướng dẫn


Nếu bạn muốn biết càng ít về Perl càng tốt nhưng cần thêm một bảng mã mới, chỉ cần
đọc chương này và quên phần còn lại.

0. Chuẩn bị sẵn tệp .ucm. Bạn có thể lấy nó từ đâu đó hoặc bạn có thể viết của riêng bạn từ
hoặc bạn có thể lấy một từ phân phối Mã hóa và tùy chỉnh nó. Cho
Định dạng UCM, xem Chương tiếp theo. Trong ví dụ dưới đây, tôi sẽ gọi là lý thuyết của tôi
mã hóa myascii, được định nghĩa trong my.ucm. "$" là một dấu nhắc trình bao.

$ ls -F
my.ucm

1. Đưa ra một lệnh như sau;

$ enc2xs -M Của tôi my.ucm
tạo Makefile.PL
tạo My.pm
tạo README
tạo ra các thay đổi

Bây giờ hãy xem thư mục hiện tại của bạn. Nó sẽ giống như thế này.

$ ls -F
Makefile.PL My.pm my.ucm t /

Các tệp sau đây đã được tạo.

Makefile.PL - Tập lệnh MakeMaker
My.pm - Mã hóa mô-đun con
t / My.t - tệp thử nghiệm

1.1.
Nếu bạn muốn * .ucm được cài đặt cùng với các mô-đun, hãy làm như sau;

Mã hóa $ mkdir
$ mv * .ucm Mã hóa
$ enc2xs -M Mã hóa của tôi / * ucm

2. Chỉnh sửa các tệp được tạo. Bạn không cần phải làm như vậy nếu bạn không có thời gian VÀ không có ý định
đưa nó cho người khác. Nhưng bạn nên chỉnh sửa nhóm và thêm nhiều bài kiểm tra hơn.

3. Bây giờ hãy phát hành một lệnh mà mọi người yêu thích Perl Mongers:

$ Perl Makefile.PL
Viết Makefile để mã hóa :: Của tôi

4. Bây giờ tất cả những gì bạn phải làm là thực hiện.

$ make
cp My.pm Blib / lib / Encode / My.pm
/ usr / local / bin / perl / usr / local / bin / enc2xs -Q -O \
-o mã hóa_t.c -f mã hóa_t.fnm
Đọc myascii (myascii)
Viết mẫu biên dịch
128 byte trong bảng chuỗi
384 byte (75%) đã lưu các bản sao rải rác
1 byte (0.775%) được lưu bằng cách sử dụng chuỗi con
....
chmod 644 Blib / Arch / auto / Encode / My / My.bs
$

Thời gian cần thay đổi tùy thuộc vào tốc độ máy của bạn và kích thước
mã hóa là. Trừ khi bạn đang làm việc trên một cái gì đó lớn như euc-tw, nó sẽ không mất quá nhiều
Dài.

5. Bạn có thể "thực hiện cài đặt" rồi nhưng bạn nên thử nghiệm trước.

$ làm bài kiểm tra
PERL_DL_NONLAZY = 1 / usr / local / bin / perl -Iblib / Arch -Iblib / lib \
-e 'sử dụng Kiểm tra :: Khai thác qw (& runtests $ verbose); \
$ verbose = 0; runtests @ARGV; ' t / *. t
t / My .... ok
Tất cả các thử nghiệm thành công.
Tệp = 1, Kiểm tra = 2, 0 giây ép xung
(0.09 cusr + 0.01 csys = 0.09 CPU)

6. Nếu bạn hài lòng với kết quả kiểm tra, chỉ cần "thực hiện cài đặt"

7. Nếu bạn muốn thêm mã hóa của mình vào danh sách tải theo yêu cầu của Mã hóa (vì vậy bạn không cần phải
"use Encode :: YourEncoding"), chạy

enc2xs -C

để cập nhật Encode :: ConfigLocal, một mô-đun kiểm soát cài đặt cục bộ. Sau đó,
"sử dụng Mã hóa;" là đủ để tải các mã của bạn theo yêu cầu.

Sản phẩm Unicode Nhân vật Bản đồ


Mã hóa sử dụng định dạng Bản đồ ký tự Unicode (UCM) cho các ánh xạ ký tự nguồn. Cái này
định dạng được sử dụng bởi gói ICU của IBM và được Nick Ing-Simmons chấp nhận để sử dụng với
Mã hóa mô-đun. Vì UCM linh hoạt hơn Bản đồ mã hóa của Tcl và nhiều người dùng hơn-
thân thiện, đây là định dạng được đề xuất cho Mã hóa ngay bây giờ.

Tệp UCM trông như thế này.

#
# Bình luận
#
"US-ascii" # Bắt buộc
"ascii" # Tùy chọn
1 # Bắt buộc; thường là 1
1 # Tối đa. # byte / ký tự
\ x3F # char thay thế
#
BẢN ĐỒ
\ x0000 | 00 #
\ x0001 | 01 #
\ x0002 | 02 #
....
\ x007C | 7 # DÒNG CHỨNG NHẬN
\ x007D | 7 # VÒNG TAY ĐÚNG HIỆN TẠI
\ x007E | 7 # TILDE
\ x007F | 7 #
BẢN ĐỒ KẾT THÚC

· Bất cứ điều gì theo sau "#" được coi là một nhận xét.

· Phần tiêu đề tiếp tục cho đến khi một dòng chứa từ CHARMAP. Phần này
có dạng giá trị, một cặp trên mỗi dòng. Các chuỗi được sử dụng làm giá trị phải là
được trích dẫn. Mật khẩu được coi là số. \ xXX đại diện cho một byte.

Hầu hết các từ khóa đều có thể tự giải thích. phụ phí có nghĩa là ký tự thay thế, không phải
ký tự con. Khi bạn giải mã một chuỗi Unicode sang bảng mã này nhưng không khớp
ký tự được tìm thấy, chuỗi byte được xác định ở đây sẽ được sử dụng. Đối với hầu hết các trường hợp,
giá trị ở đây là \ x3F; trong ASCII, đây là một dấu hỏi.

· CHARMAP bắt đầu phần bản đồ ký tự. Mỗi dòng có dạng như sau:

\ xXX .. | 0 # bình luận
^ ^ ^
| | + - Cờ dự phòng
| + -------- Chuỗi byte được mã hóa
+ -------------- ID ký tự Unicode trong hex

Định dạng gần giống với phần tiêu đề ngoại trừ cờ dự phòng: |
tiếp theo là 0..3. Ý nghĩa của các giá trị có thể có như sau:

| 0 An toàn cho chuyến đi khứ hồi. Một ký tự được giải mã thành Unicode sẽ mã hóa trở lại cùng một byte
sự nối tiếp. Hầu hết các nhân vật đều có cờ này.

| 1 Dự phòng cho mã hóa unicode ->. Khi được nhìn thấy, enc2xs sẽ thêm ký tự này cho
chỉ mã hóa bản đồ.

| 2 Bỏ qua ánh xạ biểu đồ phụ nếu không có điểm mã.

| 3 Dự phòng cho mã hóa -> unicode. Khi được nhìn thấy, enc2xs sẽ thêm ký tự này cho
chỉ giải mã bản đồ.

· Và cuối cùng, END OF CHARMAP kết thúc phần này.

Khi bạn đang tạo một tệp UCM theo cách thủ công, bạn nên sao chép ascii.ucm hoặc một tệp hiện có
mã hóa gần với mã của bạn, thay vì viết của riêng bạn từ đầu.

Khi bạn làm như vậy, hãy đảm bảo rằng bạn để lại ít nhất U0000 đến U0020 như vậy, trừ khi môi trường của bạn
là EBCDIC.

LƯU Ý: không phải tất cả các tính năng trong UCM đều được triển khai. Ví dụ, icu: state không được sử dụng.
Do đó, bạn cần phải viết một mô-đun perl nếu bạn muốn hỗ trợ thuật toán
mã hóa, đặc biệt là dòng ISO-2022. Các mô-đun như vậy bao gồm Mã hóa :: JP :: 2022_JP,
Mã hóa :: KR :: 2022_KR và Mã hóa :: TW :: HZ.

Đối phó với bản sao ánh xạ
Khi bạn tạo bản đồ, bạn NÊN làm cho bản đồ khứ hồi của mình được an toàn. Đó là,
"encode ('your-encoding', decode ('your-encoding', $ data)) eq $ data" là viết tắt của tất cả
các ký tự được đánh dấu là "| 0". Đây là cách để đảm bảo:

· Sắp xếp bản đồ của bạn theo thứ tự Unicode.

· Khi bạn có một mục nhập trùng lặp, hãy đánh dấu mục nhập bằng '| 1' hoặc '| 3'.

· Và hãy chắc chắn rằng mục nhập '| 1' hoặc '| 3' THEO DÕI mục nhập '| 0'.

Đây là một ví dụ từ big5-eten.

\ xF2550 \ xF9 | 9
\ xA2550 \ xA2 | 4

Mã hóa nội bộ -> Unicode và Unicode -> Bản đồ mã hóa trông như thế này;

E đến UU đến E
--------------------------------------
\ xF9 \ xF9 => U2550 U2550 => \ xF9 \ xF9
\ xA2 \ xA4 => U2550

Vì vậy, chuyến đi khứ hồi an toàn cho \ xF9 \ xF9. Nhưng nếu dòng trên bị lộn ngược, đây là những gì
xảy ra.

E đến UU đến E
--------------------------------------
\ xA2 \ xA4 => U2550 U2550 => \ xF9 \ xF9
(\ xF9 \ xF9 => U2550 hiện đã được ghi đè!)

Gói mã hóa đi kèm với cây dùi cui, một tiện ích thô sơ nhưng đủ để kiểm tra
tính toàn vẹn của tệp UCM. Kiểm tra trong thư mục Mã hóa / bin cho điều này.

Khi nghi ngờ, bạn có thể sử dụng ucmsort, một tiện ích khác trong thư mục Mã hóa / bin.

Đánh dấu


· Trang chủ ICUhttp://www.icu-project.org/>

· Bảng ánh xạ ký tự ICUhttp://site.icu-project.org/charts/charset>

· ICU: Dữ liệu chuyển đổihttp://www.icu-project.org/userguide/conversion-data.html>

Sử dụng enc2xs trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad