Function: yank-media--utf-16-p

yank-media--utf-16-p is a byte-compiled function defined in yank-media.el.gz.

Signature

(yank-media--utf-16-p DATA)

Source Code

;; Defined in /usr/src/emacs/lisp/yank-media.el.gz
(defun yank-media--utf-16-p (data)
  (and (zerop (mod (length data) 2))
       (let ((stats (vector 0 0)))
         (dotimes (i (length data))
           (when (zerop (elt data i))
             (setf (aref stats (mod i 2))
                   (1+ (aref stats (mod i 2))))))
         ;; If we have more than 90% every-other nul, then it's
         ;; pretty likely to be utf-16.
         (cond
          ((> (/ (float (elt stats 0)) (/ (length data) 2))
              0.9)
           ;; Big endian.
           'utf-16-be)
          ((> (/ (float (elt stats 1)) (/ (length data) 2))
              0.9)
           ;; Little endian.
           'utf-16-le)))))