⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000001.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;cybergene&nbsp;(基因~也许以后~~),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;How&nbsp;to&nbsp;Use&nbsp;Tcl&nbsp;8.1&nbsp;Internationalization&nbsp;Features&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Thu&nbsp;Dec&nbsp;14&nbsp;15:54:36&nbsp;2000)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>How&nbsp;to&nbsp;Use&nbsp;Tcl&nbsp;8.1&nbsp;Internationalization&nbsp;Features&nbsp;<BR>&nbsp;&nbsp;<BR>TclPro&nbsp;Extensions&nbsp;|&nbsp;Wrap&nbsp;TclPro&nbsp;|&nbsp;Compile&nbsp;Tcl&nbsp;|&nbsp;Stub&nbsp;Libraries&nbsp;|&nbsp;Threads&nbsp;<BR>&nbsp;|&nbsp;Windows&nbsp;Extensions&nbsp;|&nbsp;Regular&nbsp;Expressions&nbsp;|&nbsp;I18N&nbsp;&nbsp;<BR>&nbsp;<BR>Tcl's&nbsp;new&nbsp;internationalization&nbsp;facilities&nbsp;allow&nbsp;you&nbsp;to&nbsp;create&nbsp;Tcl&nbsp;&nbsp;<BR>applications&nbsp;that&nbsp;support&nbsp;any&nbsp;multi-byte&nbsp;language,&nbsp;including&nbsp;Chinese&nbsp;and&nbsp;<BR>&nbsp;Japanese.&nbsp;Tcl&nbsp;also&nbsp;now&nbsp;includes&nbsp;support&nbsp;for&nbsp;message&nbsp;catalogs,&nbsp;which&nbsp;&nbsp;<BR>makes&nbsp;it&nbsp;easier&nbsp;to&nbsp;create&nbsp;localized&nbsp;versions&nbsp;of&nbsp;applications&nbsp;and&nbsp;&nbsp;<BR>packages.&nbsp;Tcl&nbsp;is&nbsp;the&nbsp;first&nbsp;cross-platform&nbsp;scripting&nbsp;language&nbsp;to&nbsp;help&nbsp;&nbsp;<BR>developers&nbsp;to&nbsp;deploy&nbsp;both&nbsp;commercial&nbsp;and&nbsp;enterprise&nbsp;network&nbsp;applications&nbsp;<BR>&nbsp;on&nbsp;a&nbsp;global&nbsp;scale.&nbsp;<BR>&nbsp;<BR>This&nbsp;document&nbsp;provides&nbsp;a&nbsp;quick&nbsp;overview&nbsp;of&nbsp;the&nbsp;internationalization&nbsp;&nbsp;<BR>features&nbsp;introduced&nbsp;in&nbsp;Tcl&nbsp;8.1.&nbsp;Topics&nbsp;include:&nbsp;<BR>&nbsp;<BR>Character&nbsp;Encoding&nbsp;Overview&nbsp;&nbsp;<BR>Character&nbsp;Encodings&nbsp;and&nbsp;the&nbsp;Operating&nbsp;System&nbsp;&nbsp;<BR>General&nbsp;String&nbsp;Manipulation&nbsp;&nbsp;<BR>Channel&nbsp;Input/Output&nbsp;&nbsp;<BR>Sourcing&nbsp;Scripts&nbsp;in&nbsp;Different&nbsp;Encodings&nbsp;&nbsp;<BR>Converting&nbsp;Strings&nbsp;to&nbsp;Different&nbsp;Encodings&nbsp;&nbsp;<BR>Fonts,&nbsp;Encodings,&nbsp;and&nbsp;Tk&nbsp;Widgets&nbsp;&nbsp;<BR>Message&nbsp;Catalogs&nbsp;&nbsp;<BR>Internationalization&nbsp;and&nbsp;the&nbsp;Tcl&nbsp;C&nbsp;APIs&nbsp;&nbsp;<BR>Summary:&nbsp;Tcl&nbsp;Internationalization&nbsp;Support&nbsp;at&nbsp;a&nbsp;Glance&nbsp;&nbsp;<BR>Character&nbsp;Encoding&nbsp;Overview&nbsp;<BR>A&nbsp;character&nbsp;encoding&nbsp;is&nbsp;simply&nbsp;a&nbsp;mapping&nbsp;of&nbsp;characters&nbsp;and&nbsp;symbols&nbsp;&nbsp;<BR>used&nbsp;in&nbsp;written&nbsp;language&nbsp;into&nbsp;a&nbsp;binary&nbsp;format&nbsp;used&nbsp;by&nbsp;computers.&nbsp;For&nbsp;&nbsp;<BR>example,&nbsp;in&nbsp;the&nbsp;standard&nbsp;ASCII&nbsp;encoding,&nbsp;the&nbsp;upper-case&nbsp;&quot;A&quot;&nbsp;character&nbsp;&nbsp;<BR>from&nbsp;the&nbsp;Latin&nbsp;character&nbsp;set&nbsp;is&nbsp;represented&nbsp;by&nbsp;the&nbsp;byte&nbsp;value&nbsp;0x41&nbsp;in&nbsp;&nbsp;<BR>hexadecimal.&nbsp;Other&nbsp;widely&nbsp;used&nbsp;character&nbsp;encodings&nbsp;include&nbsp;ISO&nbsp;8859-1,&nbsp;&nbsp;<BR>used&nbsp;by&nbsp;many&nbsp;European&nbsp;languages,&nbsp;Shift-JIS&nbsp;and&nbsp;EUC-JP&nbsp;for&nbsp;Japanese&nbsp;&nbsp;<BR>characters,&nbsp;and&nbsp;Big5&nbsp;for&nbsp;Chinese&nbsp;characters.&nbsp;<BR>&nbsp;<BR>The&nbsp;Unicode&nbsp;Standard&nbsp;is&nbsp;a&nbsp;fixed-width,&nbsp;uniform&nbsp;encoding&nbsp;scheme&nbsp;for&nbsp;&nbsp;<BR>virtually&nbsp;all&nbsp;characters&nbsp;used&nbsp;in&nbsp;the&nbsp;world's&nbsp;major&nbsp;written&nbsp;languages.&nbsp;&nbsp;<BR>Unicode&nbsp;uses&nbsp;a&nbsp;16-bit&nbsp;encoding&nbsp;for&nbsp;all&nbsp;text&nbsp;elements.&nbsp;These&nbsp;text&nbsp;&nbsp;<BR>elements&nbsp;include&nbsp;letters&nbsp;such&nbsp;as&nbsp;&quot;w&quot;&nbsp;or&nbsp;&quot;M&quot;,&nbsp;characters&nbsp;such&nbsp;as&nbsp;those&nbsp;&nbsp;<BR>used&nbsp;in&nbsp;Japanese&nbsp;Hiragana&nbsp;to&nbsp;represent&nbsp;syllables,&nbsp;or&nbsp;ideographs&nbsp;such&nbsp;&nbsp;<BR>as&nbsp;those&nbsp;used&nbsp;in&nbsp;Chinese&nbsp;to&nbsp;represent&nbsp;full&nbsp;words&nbsp;or&nbsp;concepts.&nbsp;The&nbsp;&nbsp;<BR>Unicode&nbsp;Standard&nbsp;does&nbsp;not&nbsp;specify&nbsp;the&nbsp;visual&nbsp;representation&nbsp;of&nbsp;a&nbsp;&nbsp;<BR>character,&nbsp;which&nbsp;is&nbsp;known&nbsp;as&nbsp;a&nbsp;glyph.&nbsp;For&nbsp;more&nbsp;information&nbsp;on&nbsp;the&nbsp;&nbsp;<BR>Unicode&nbsp;Standard,&nbsp;visit&nbsp;the&nbsp;Unicode&nbsp;web&nbsp;site&nbsp;at&nbsp;<A HREF="http://www.unicode.org.">http://www.unicode.org.</A>&nbsp;<BR>&nbsp;<BR>UTF-8&nbsp;is&nbsp;a&nbsp;standard&nbsp;transformation&nbsp;format&nbsp;for&nbsp;Unicode&nbsp;characters.&nbsp;It&nbsp;&nbsp;<BR>is&nbsp;a&nbsp;method&nbsp;of&nbsp;transforming&nbsp;all&nbsp;Unicode&nbsp;characters&nbsp;into&nbsp;a&nbsp;variable&nbsp;&nbsp;<BR>length&nbsp;encoding&nbsp;of&nbsp;bytes;&nbsp;a&nbsp;single&nbsp;Unicode&nbsp;character&nbsp;can&nbsp;be&nbsp;&nbsp;<BR>represented&nbsp;by&nbsp;one,&nbsp;two,&nbsp;or&nbsp;three&nbsp;bytes.&nbsp;The&nbsp;advantage&nbsp;of&nbsp;the&nbsp;UTF-8&nbsp;&nbsp;<BR>standard&nbsp;is&nbsp;that&nbsp;it&nbsp;and&nbsp;the&nbsp;Unicode&nbsp;standard&nbsp;were&nbsp;designed&nbsp;so&nbsp;that&nbsp;&nbsp;<BR>Unicode&nbsp;characters&nbsp;corresponding&nbsp;to&nbsp;the&nbsp;standard&nbsp;ASCII&nbsp;set&nbsp;(up&nbsp;to&nbsp;&nbsp;<BR>ASCII&nbsp;value&nbsp;0x7F&nbsp;in&nbsp;hexadecimal)&nbsp;have&nbsp;the&nbsp;same&nbsp;byte&nbsp;values&nbsp;in&nbsp;both&nbsp;UTF-8&nbsp;<BR>&nbsp;and&nbsp;ASCII&nbsp;encoding.&nbsp;In&nbsp;other&nbsp;words,&nbsp;an&nbsp;upper-case&nbsp;&quot;A&quot;&nbsp;character&nbsp;is&nbsp;&nbsp;<BR>represented&nbsp;by&nbsp;the&nbsp;single-byte&nbsp;value&nbsp;0x41&nbsp;in&nbsp;both&nbsp;UTF-8&nbsp;and&nbsp;ASCII&nbsp;&nbsp;<BR>encoding.&nbsp;<BR>&nbsp;<BR>Beginning&nbsp;in&nbsp;Tcl&nbsp;8.1,&nbsp;Tcl&nbsp;represents&nbsp;all&nbsp;strings&nbsp;internally&nbsp;as&nbsp;Unicode&nbsp;&nbsp;<BR>characters&nbsp;in&nbsp;UTF-8&nbsp;format.&nbsp;Tcl&nbsp;8.1&nbsp;also&nbsp;ships&nbsp;with&nbsp;built-in&nbsp;support&nbsp;for&nbsp;<BR>&nbsp;approximately&nbsp;30&nbsp;common&nbsp;character&nbsp;encoding&nbsp;standards,&nbsp;and&nbsp;can&nbsp;convert&nbsp;&nbsp;<BR>strings&nbsp;from&nbsp;one&nbsp;encoding&nbsp;to&nbsp;another.&nbsp;The&nbsp;encoding&nbsp;names&nbsp;command&nbsp;&nbsp;<BR>displays&nbsp;a&nbsp;list&nbsp;of&nbsp;all&nbsp;known&nbsp;encodings.&nbsp;You&nbsp;can&nbsp;create&nbsp;additional&nbsp;&nbsp;<BR>encodings&nbsp;as&nbsp;described&nbsp;in&nbsp;the&nbsp;Tcl_GetEncoding.3&nbsp;reference&nbsp;page.&nbsp;<BR>&nbsp;<BR>Tip:&nbsp;Because&nbsp;7-bit&nbsp;ASCII&nbsp;characters&nbsp;have&nbsp;the&nbsp;same&nbsp;encoding&nbsp;in&nbsp;UTF-8&nbsp;&nbsp;<BR>format,&nbsp;legacy&nbsp;Tcl&nbsp;scripts&nbsp;that&nbsp;use&nbsp;only&nbsp;7-bit&nbsp;ASCII&nbsp;characters&nbsp;function&nbsp;<BR>&nbsp;the&nbsp;same&nbsp;in&nbsp;Tcl&nbsp;8.1&nbsp;as&nbsp;they&nbsp;did&nbsp;in&nbsp;Tcl&nbsp;8.0.&nbsp;Furthermore,&nbsp;because&nbsp;the&nbsp;&nbsp;<BR>use&nbsp;of&nbsp;Unicode/UTF-8&nbsp;encoding&nbsp;is&nbsp;internal&nbsp;to&nbsp;Tcl,&nbsp;most&nbsp;string&nbsp;handling&nbsp;&nbsp;<BR>in&nbsp;legacy&nbsp;Tcl&nbsp;scripts&nbsp;works&nbsp;the&nbsp;same&nbsp;in&nbsp;Tcl&nbsp;8.1&nbsp;as&nbsp;it&nbsp;did&nbsp;in&nbsp;Tcl&nbsp;8.0.&nbsp;&nbsp;<BR>Most&nbsp;problems&nbsp;in&nbsp;converting&nbsp;from&nbsp;Tcl&nbsp;8.0&nbsp;to&nbsp;8.1&nbsp;occur&nbsp;in:&nbsp;1)&nbsp;using&nbsp;&nbsp;<BR>non-Latin&nbsp;characters,&nbsp;2)&nbsp;reading&nbsp;and&nbsp;writing&nbsp;strings&nbsp;from&nbsp;a&nbsp;channel,&nbsp;and&nbsp;<BR>&nbsp;3)&nbsp;writing&nbsp;code&nbsp;that&nbsp;assumes&nbsp;that&nbsp;each&nbsp;character&nbsp;in&nbsp;a&nbsp;string&nbsp;is&nbsp;a&nbsp;fixed&nbsp;<BR>&nbsp;byte&nbsp;width&nbsp;(for&nbsp;example,&nbsp;one&nbsp;byte&nbsp;per&nbsp;character).&nbsp;<BR>&nbsp;<BR>Character&nbsp;Encodings&nbsp;and&nbsp;the&nbsp;Operating&nbsp;System&nbsp;<BR>The&nbsp;system&nbsp;encoding&nbsp;is&nbsp;the&nbsp;character&nbsp;encoding&nbsp;used&nbsp;by&nbsp;the&nbsp;operating&nbsp;&nbsp;<BR>system&nbsp;for&nbsp;items&nbsp;such&nbsp;as&nbsp;file&nbsp;names&nbsp;and&nbsp;environment&nbsp;variables.&nbsp;Text&nbsp;&nbsp;<BR>files&nbsp;used&nbsp;by&nbsp;text&nbsp;editors&nbsp;and&nbsp;other&nbsp;applications&nbsp;are&nbsp;usually&nbsp;encoded&nbsp;in&nbsp;<BR>&nbsp;the&nbsp;system&nbsp;encoding&nbsp;as&nbsp;well,&nbsp;unless&nbsp;the&nbsp;application&nbsp;that&nbsp;produced&nbsp;&nbsp;<BR>them&nbsp;explicitly&nbsp;saves&nbsp;them&nbsp;in&nbsp;another&nbsp;format&nbsp;(for&nbsp;example,&nbsp;if&nbsp;you&nbsp;use&nbsp;&nbsp;<BR>a&nbsp;Shift-JIS&nbsp;text&nbsp;editor&nbsp;on&nbsp;an&nbsp;ISO&nbsp;8859-1&nbsp;system).&nbsp;<BR>&nbsp;<BR>Tcl&nbsp;automatically&nbsp;converts&nbsp;strings&nbsp;from&nbsp;UTF-8&nbsp;format&nbsp;to&nbsp;the&nbsp;system&nbsp;&nbsp;<BR>encoding&nbsp;and&nbsp;vice&nbsp;versa&nbsp;whenever&nbsp;it&nbsp;communicates&nbsp;with&nbsp;the&nbsp;operating&nbsp;&nbsp;<BR>system.&nbsp;For&nbsp;example,&nbsp;Tcl&nbsp;automatically&nbsp;handles&nbsp;any&nbsp;encoding&nbsp;conversion&nbsp;&nbsp;<BR>needed&nbsp;if&nbsp;you&nbsp;execute&nbsp;commands&nbsp;such&nbsp;as:&nbsp;<BR>&nbsp;<BR>%&nbsp;glob&nbsp;*&nbsp;<BR>or&nbsp;<BR>&nbsp;<BR>%&nbsp;set&nbsp;fd&nbsp;[open&nbsp;&quot;Espa?ol.txt&quot;&nbsp;w]&nbsp;<BR>The&nbsp;Tcl&nbsp;source&nbsp;command&nbsp;also&nbsp;reads&nbsp;files&nbsp;using&nbsp;the&nbsp;system&nbsp;encoding,&nbsp;and&nbsp;&nbsp;<BR>strings&nbsp;passed&nbsp;to&nbsp;and&nbsp;from&nbsp;the&nbsp;Tcl&nbsp;exec&nbsp;command&nbsp;are&nbsp;converted&nbsp;to&nbsp;and&nbsp;&nbsp;<BR>from&nbsp;the&nbsp;system&nbsp;encoding.&nbsp;<BR>&nbsp;<BR>Tcl&nbsp;attempts&nbsp;to&nbsp;determine&nbsp;the&nbsp;system&nbsp;encoding&nbsp;during&nbsp;initialization&nbsp;&nbsp;<BR>based&nbsp;on&nbsp;the&nbsp;platform&nbsp;and&nbsp;locale&nbsp;settings.&nbsp;Tcl&nbsp;usually&nbsp;can&nbsp;determine&nbsp;a&nbsp;&nbsp;<BR>reasonable&nbsp;default&nbsp;system&nbsp;encoding&nbsp;based&nbsp;on&nbsp;these&nbsp;settings,&nbsp;but&nbsp;if&nbsp;for&nbsp;&nbsp;<BR>some&nbsp;reason&nbsp;it&nbsp;cannot,&nbsp;it&nbsp;uses&nbsp;ISO&nbsp;8859-1&nbsp;as&nbsp;the&nbsp;default&nbsp;system&nbsp;&nbsp;<BR>encoding.&nbsp;<BR>&nbsp;<BR>You&nbsp;can&nbsp;override&nbsp;the&nbsp;default&nbsp;system&nbsp;encoding&nbsp;with&nbsp;the&nbsp;encoding&nbsp;system&nbsp;&nbsp;<BR>command.&nbsp;Ajuba&nbsp;Solutions&nbsp;recommends&nbsp;that&nbsp;you&nbsp;avoid&nbsp;using&nbsp;this&nbsp;command&nbsp;if&nbsp;<BR>&nbsp;at&nbsp;all&nbsp;possible.&nbsp;If&nbsp;you&nbsp;set&nbsp;the&nbsp;default&nbsp;system&nbsp;encoding&nbsp;to&nbsp;anything&nbsp;&nbsp;<BR>other&nbsp;than&nbsp;the&nbsp;actual&nbsp;encoding&nbsp;used&nbsp;by&nbsp;your&nbsp;operating&nbsp;system,&nbsp;Tcl&nbsp;will&nbsp;&nbsp;<BR>likely&nbsp;find&nbsp;it&nbsp;impossible&nbsp;to&nbsp;communicate&nbsp;properly&nbsp;with&nbsp;your&nbsp;operating&nbsp;&nbsp;<BR>system.&nbsp;<BR>&nbsp;<BR>Note:&nbsp;For&nbsp;reading&nbsp;and&nbsp;writing&nbsp;files&nbsp;in&nbsp;an&nbsp;encoding&nbsp;other&nbsp;than&nbsp;the&nbsp;system&nbsp;<BR>&nbsp;encoding,&nbsp;you&nbsp;need&nbsp;to&nbsp;use&nbsp;the&nbsp;fconfigure&nbsp;-encoding&nbsp;command&nbsp;(not&nbsp;the&nbsp;&nbsp;<BR>encoding&nbsp;system&nbsp;command)&nbsp;as&nbsp;described&nbsp;in&nbsp;the&nbsp;&quot;Channel&nbsp;Input/Output&quot;&nbsp;&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -