📄 enc-jpn.lisp
字号:
(in-package "SB!IMPL");;; EUC-JP(declaim (inline ucs-to-eucjp eucjp-to-ucs mb-len-as-eucjp eucjp-continuation-byte-p))(defun ucs-to-eucjp (code) (declare (optimize speed (safety 0)) (type fixnum code)) (if (<= code #x7F) code (get-multibyte-mapper *ucs-to-eucjp-table* code)))(defun eucjp-to-ucs (code) (declare (optimize speed (safety 0)) (type fixnum code)) (if (<= code #x7F) code (get-multibyte-mapper *eucjp-to-ucs-table* code)))(defun mb-len-as-eucjp (code) (declare (optimize speed (safety 0)) (type (unsigned-byte 8) code)) (cond ((< code #x80) 1) ((or (= code #x8E) (<= #xA1 code #xFE)) 2) ((= code #x8F) 3)))(defun eucjp-continuation-byte-p (code) (declare (optimize speed (safety 0)) (type (unsigned-byte 8) code)) (<= #xA1 code #xFE))(define-multibyte-encoding :euc-jp (:euc-jp :eucjp :|eucJP|) ucs-to-eucjp eucjp-to-ucs mb-len-as-eucjp eucjp-continuation-byte-p);;; Shift_JIS(declaim (inline ucs-to-sjis sjis-to-ucs mb-len-as-sjis sjis-continuation-byte-p))(defun ucs-to-sjis (code) (declare (optimize speed (safety 0)) (type fixnum code)) (if (<= code #x7F) code (get-multibyte-mapper *ucs-to-sjis-table* code)))(defun sjis-to-ucs (code) (declare (optimize speed (safety 0)) (type fixnum code)) (if (<= code #x7F) code (get-multibyte-mapper *sjis-to-ucs-table* code)))(defun mb-len-as-sjis (code) (declare (optimize speed (safety 0)) (type (unsigned-byte 8) code)) (cond ((or (< code #x80) (<= #xA1 code #xDF)) 1) ((or (<= #x81 code #x9F) (<= #xE0 code #xFC)) 2)))(defun sjis-continuation-byte-p (code) (declare (optimize speed (safety 0)) (type (unsigned-byte 8) code)) (or (<= #x40 code #x7E) (<= #x80 code #xFC)))(define-multibyte-encoding :shift_jis (:shift_jis :sjis :|Shift_JIS| :cp932) ucs-to-sjis sjis-to-ucs mb-len-as-sjis sjis-continuation-byte-p)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -