mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 05:50:30 +00:00
@@ -12,29 +12,31 @@
|
||||
##
|
||||
## The following example shows how to change character encodings.
|
||||
runnableExamples:
|
||||
let
|
||||
orig = "öäüß"
|
||||
# convert `orig` from "UTF-8" to "CP1252"
|
||||
cp1252 = convert(orig, "CP1252", "UTF-8")
|
||||
# convert `cp1252` from "CP1252" to "ibm850"
|
||||
ibm850 = convert(cp1252, "ibm850", "CP1252")
|
||||
current = getCurrentEncoding()
|
||||
assert orig == "\195\182\195\164\195\188\195\159"
|
||||
assert ibm850 == "\148\132\129\225"
|
||||
assert convert(ibm850, current, "ibm850") == orig
|
||||
when defined(windows):
|
||||
let
|
||||
orig = "öäüß"
|
||||
# convert `orig` from "UTF-8" to "CP1252"
|
||||
cp1252 = convert(orig, "CP1252", "UTF-8")
|
||||
# convert `cp1252` from "CP1252" to "ibm850"
|
||||
ibm850 = convert(cp1252, "ibm850", "CP1252")
|
||||
current = getCurrentEncoding()
|
||||
assert orig == "\195\182\195\164\195\188\195\159"
|
||||
assert ibm850 == "\148\132\129\225"
|
||||
assert convert(ibm850, current, "ibm850") == orig
|
||||
|
||||
## The example below uses a reuseable `EncodingConverter` object which is
|
||||
## created by `open` with `destEncoding` and `srcEncoding` specified. You can use
|
||||
## `convert` on this object multiple times.
|
||||
runnableExamples:
|
||||
var fromGB2312 = open("utf-8", "gb2312")
|
||||
let first = "\203\173\197\194\163\191\210\187" &
|
||||
"\203\242\209\204\211\234\200\206\198\189\201\250"
|
||||
assert fromGB2312.convert(first) == "谁怕?一蓑烟雨任平生"
|
||||
when defined(windows):
|
||||
var fromGB2312 = open("utf-8", "gb2312")
|
||||
let first = "\203\173\197\194\163\191\210\187" &
|
||||
"\203\242\209\204\211\234\200\206\198\189\201\250"
|
||||
assert fromGB2312.convert(first) == "谁怕?一蓑烟雨任平生"
|
||||
|
||||
let second = "\211\208\176\215\205\183\200\231" &
|
||||
"\208\194\163\172\199\227\184\199\200\231\185\202"
|
||||
assert fromGB2312.convert(second) == "有白头如新,倾盖如故"
|
||||
let second = "\211\208\176\215\205\183\200\231" &
|
||||
"\208\194\163\172\199\227\184\199\200\231\185\202"
|
||||
assert fromGB2312.convert(second) == "有白头如新,倾盖如故"
|
||||
|
||||
|
||||
import os
|
||||
|
||||
Reference in New Issue
Block a user