UEFI Spec 學習筆記---33 - Human Interface Infrastructure Overview---33.2.6 Strings

33.2.6 Strings

UEFI 環境中的 string 是使用 UCS-2 格式定義,每個字符由 16bit 數據表示。對于用戶界面,strings 也是一種可以安裝到 HIIdatabase 的一種數據。

為了本土化,每個 string 通過一個唯一標識符來識別,而每一個標識符可以和多個 package 關聯比如英語、法語、中文等。需要顯示的時候根據系統的語言配置來選擇顯示。

實際的每種語言的 package 是獨立存儲的,所以在添加刪除的時候,只需要 including /excluding 對應的 package 就可以了。

每個字符串都可能有與之關聯的字體信息,包括字體族名稱、字體大小和字體樣式。并非所有的平臺或顯示器都支持系統默認字體(fonts)以外的字體和樣式,因此與字符串相關的字體信息應被視為一組提示。

33.2.6.1 Configuration Language Paradigm

該規范使用RFC 4646語言命名方案來標識給定字符串所關聯的語言。由于RFC 4646允許相同的主語言標簽包含大量不同的子標簽(例如區域),因此在RFC 4647中定義了最佳匹配語言算法。需要RFC 4646語言代碼來檢索Unicode字符串的接口調用者必須使用RFC 4647算法來查找具有最接近匹配RFC 4646語言代碼的Unicode字符串。

例如:STR_MODULE_ABSTRACT 就是一個 string identifier 對應語言包就是 en-US

#string STR_MODULE_ABSTRACT             #language en-US "Provides the default logo bitmap picture shown on setup screen."
33.2.6.2 Unicode Usage

本節描述Unicode規范的不同方面如何與該規范中的字符串相關。

33.2.6.2.1 Private Use Area

Unicode定義了一個包含6500個字符的私有使用區域,可以為本地使用而定義。建議的用法包括埃及語、象形文字。

UEFI禁止在UEFI環境中使用此區域。這是因為從各種驅動程序(一個有效的實現)中積累的集中字體數據庫最終會在私有使用區域中產生沖突,并且通常會導致錯誤XML瀏覽器無法顯示這些字符。

33.2.6.2.2 Surrogate Area

Unicode規范有兩個16位字符表示:UCS-2和UTF-16。UEFI規范使用UCS-2。主要區別在于UTF-16定義了代理區域,這些區域允許擴展16位Unicode的字符表示。這些字符表示非常類似于雙字節字符集(DBCS)——將2048個Unicode值分成兩組(D800-DBFF和DC00-DFFF)。

33.2.6.2.3 Non-Spacing Characters

Unicode使用非空格字符的概念。這些符號用于向其他字符添加重音等,方法是在邏輯上將該符號與前一個符號進行“OR”。在Unicode編碼中似乎沒有任何可預測的范圍來確定非空格字符,然而這些字符出現在許多語言中。

33.2.6.2.4 Common Control Codes

該規范允許使用特殊控制字符對字符串中的字體顯示信息進行編碼。這些控制代碼意味著顯示提示,不同的平臺可能會忽略它們,這取決于顯示功能。在單字節編碼中,它們的形式是0x7F 0xyy或0x7F 0x0y 0xzz。單字節編碼僅在與Unicode的標準壓縮方案(見字符串編碼)結合使用時使用。在雙字節編碼中,它們的形式是0xF6yy, 0xF7zz或0xF8zz。當轉換為UCS-2時,所有控制碼都應該使用0xFxyy形式。

33.2.6.2.5 Line Breaks

一般來說,下列任何一個空格字符都是換行:

本節描述使用控制字符來確定字符串中中斷的機會。這些指導方針基于Unicode Technical Report #14,但是大大簡化了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80604.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80604.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80604.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Stable Diffusion 學習筆記02

模型下載網站: 1,LiblibAI-哩布哩布AI - 中國領先的AI創作平臺 2,Civitai: The Home of Open-Source Generative AI 模型的安裝: 將下載的sd模型放置在sd1.5的文件內即可,重啟客戶端可用。 外掛VAE模型&#xff1a…

并發編程(5)

拋異常時會釋放鎖。 當線程在 synchronized 塊內部拋出異常時,會自動釋放對象鎖。 public class ExceptionUnlockDemo {private static final Object lock new Object();public static void main(String[] args) {Thread t1 new Thread(() -> {synchronized …

貴州某建筑物擋墻自動化監測

1. 項目簡介 某建筑物位于貴州省某縣城區內,靠近縣城主干道,周邊配套學校、醫院、商貿城。建筑物臨近鳳凰湖、芙蓉江等水系,主打“湖景生態宜居”。改建筑物總占地面積:約5.3萬平方米;總建筑面積:約15萬平…

6個月Python學習計劃:從入門到AI實戰(前端開發者進階指南)

作者:一名前端開發者的進階日志 計劃時長:6個月 每日學習時間:2小時 覆蓋方向:Python基礎、爬蟲開發、數據分析、后端開發、人工智能、深度學習 📌 目錄 學習目標總覽每日時間分配建議第1月:Python基礎與編…

【FAQ】HarmonyOS SDK 閉源開放能力 —Vision Kit (3)

1.問題描述: 通過CardRecognition識別身份證拍照拿到的照片地址,使用該方法獲取不到圖片文件,請問如何解決? 解決方案: //卡證識別實現頁,文件名為CardDemoPage,需被引入至入口頁 import { …

AI全域智能監控系統重構商業清潔管理范式——從被動響應到主動預防的監控效能革命

一、四維立體監控網絡技術架構 1. 人員行為監控 - 融合人臉識別、骨骼追蹤與RFID工牌技術,身份識別準確率99.97% - 支持15米超距夜間紅外監控(精度0.01lux) 2. 作業過程監控 - UWB厘米級定位技術(誤差<0.3米&…

安全強化的Linux

SElinux簡介 SELinux是security-Enhanced Linux的縮寫,意思是安全強化的linux SELinux主要由美國國家安全局(NSA)開發,當初開發的目的是為了避免資源的誤用。傳統的訪問控制在我們開啟權限后,系統進程可以直接訪問 當我們對權限設置不嚴謹時,這種訪問方式就是系統的安全漏洞 在…

機器學習第十六講:K-means → 自動把超市顧客分成不同消費群體

機器學習第十六講:K-means → 自動把超市顧客分成不同消費群體 資料取自《零基礎學機器學習》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章:DeepSeek R1本地與線上滿血版部署:超詳細手把手指南 K-me…

spring中yml配置上下文與tomcat等外部容器不一致問題

結論:外部優先級大于內部 在 application.yml 中配置了: server:port: 8080servlet:context-path: /demo這表示你的 Spring Boot 應用的上下文路徑(context-path)是 /demo,即訪問你的服務時,URL 必須以 /d…

論文研讀——《AnomalyGPT:使用大型視覺語言模型檢測工業異常》

這篇論文提出了 AnomalyGPT,一個基于大型視覺語言模型的工業異常檢測框架,首次將通用多模態對話能力引入工業視覺場景,通過引入圖像解碼器增強像素級感知,設計 Prompt 學習器實現任務自適應控制,并利用合成異常樣本解決…

供應鏈安全檢測系列技術規范介紹之一|軟件成分分析

軟件成分分析的概念及意義 軟件成分分析Software Compostition Analysis(SCA)是一種用于管理開源組件應用安全的方法。軟件成分分析系統可以快速跟蹤和分析應用軟件的開源組件,發現相關組件、支持庫以及它們之間直接和間接依賴關系&#xff0…

conda更換清華源

1、概覽 anaconda更換速度更快、更穩定的下載源,在linux環境測試通過。 2、conda源查看 在修改之前可以查看下現有conda源是什么,查看conda配置信息,如下: cat ~/.condarc 可以看到你的conda源,以我的conda源舉例&am…

Docker配置容器開機自啟或服務重啟后自啟

要將一個 Docker 容器設置為開機自啟,你可以使用 docker update 命令或配置 Docker 服務來實現。以下是兩種常見的方法: 方法 1:使用 docker update 設置容器自動重啟 使用 docker update 設置容器為開機自啟 你可以使用以下命令&#xff0c…

Flink 的水印機制

Apache Flink 的 水印機制(Watermark Mechanism) 主要用于解決 事件時間流中的亂序問題(Out-of-Order Events),確保窗口(Window)能夠在合適的時間觸發計算,從而提供準確、一致的處理…

【每天一個知識點】embedding與representation

“Embedding(嵌入)”與“Representation(表示)”在機器學習、自然語言處理(NLP)、圖神經網絡等領域常被使用,它們密切相關,但語義上有一定區別。 一、定義 1. Representation&#…

SpringBoot(二)--- SpringBoot基礎(http協議、分層解耦)

目錄 前言 一、SpringBoot入門 1.入門程序 2.解析 二、HTTP協議 1.HTTP概述 2.HTTP請求協議 2.1 GET方式的請求協議 2.2 POST方式的請求協議 2.3 兩者的區別 2.4 獲取請求數據 3.HTTP響應協議 三、分層解耦 1.三層架構 2.IOC&DI 2.1 入門 2.2 IOC詳解 2.…

Please install it with pip install onnxruntime

無論怎么安裝都是 Please install it with pip install onnxruntime 我python 版本是3.11 ,我換成3.10 解決了

【數據結構入門訓練DAY-35】棋盤問題

本次訓練聚焦于使用深度優先搜索(DFS)算法解決棋盤上的棋子擺放問題。題目要求在一個可能不規則的nn棋盤上擺放k個棋子,且任意兩個棋子不能位于同一行或同一列。輸入包括棋盤大小n和棋子數k,以及棋盤的形狀(用#表示可放…

【日常筆記】wps如何將值轉換成東西南北等風向漢字

在WPS表格中,若要將數值(如角度值)轉換成“東、南、西、北”等風向漢字,可通過以下步驟結合自定義函數或條件判斷實現: 一、wps如何將值轉換 方法一:使用LOOKUP函數(簡化公式)&…

Web性能優化的未來:邊緣計算、AI與新型渲染架構

一、邊緣計算與性能優化深度整合 1.1 邊緣節點計算卸載策略 ? 智能任務分割:將非關鍵路徑計算卸載到邊緣節點 // 客戶端代碼 const edgeTask = new EdgeTask(image-processing); edgeTask.postMessage(imageData, {transfer