Silverlight上是否有用于Shift JIS编码的库?
在Silverlight上有没有可以用来解码Shift JIS文本的库?我在这里找到了一些信息:Silverlight上是否有用于Shift JIS编码的库?,silverlight,text,encoding,Silverlight,Text,Encoding,在Silverlight上有没有可以用来解码Shift JIS文本的库?我在这里找到了一些信息: 这是上面链接中的C#代码示例(归功于Peter Bromberg)。我不能肯定它是否能在Silverlight中工作。我想这一切都取决于Encoding.GetEncoding(“shift jis”)是否在SL中可用: public class FileConverter { const int BufferSize = 8096; public static void Mai
这是上面链接中的C#代码示例(归功于Peter Bromberg)。我不能肯定它是否能在Silverlight中工作。我想这一切都取决于Encoding.GetEncoding(“shift jis”)是否在SL中可用:
public class FileConverter
{
const int BufferSize = 8096;
public static void Main(string[] args)
{
if (args.Length != 2)
{
Console.WriteLine
("Usage: FileConverter <input file> <output file>");
return;
}
//NOTE: you may need to use " Encoding enc = Encoding.GetEncoding("shift-jis"); " for non-standard code pages
// Open a TextReader for the appropriate file
using (TextReader input = new StreamReader
(new FileStream (args[0], FileMode.Open),
Encoding.UTF8))
{
// Open a TextWriter for the appropriate file
using (TextWriter output = new StreamWriter
(new FileStream (args[1], FileMode.Create),
Encoding.Unicode))
{
// Create the buffer
char[] buffer = new char[BufferSize];
int len;
// Repeatedly copy data until we've finished
while ( (len = input.Read (buffer, 0, BufferSize)) > 0)
{
output.Write (buffer, 0, len);
}
}
}
}
}
公共类文件转换器
{
const int BufferSize=8096;
公共静态void Main(字符串[]args)
{
如果(参数长度!=2)
{
控制台写入线
(“用法:文件转换器”);
返回;
}
//注意:对于非标准代码页,可能需要使用“Encoding enc=Encoding.GetEncoding(“shift jis”);”
//打开相应文件的文本阅读器
使用(TextReader输入=新的StreamReader)
(新文件流(args[0],FileMode.Open),
编码(UTF8)
{
//打开相应文件的TextWriter
使用(TextWriter输出=新StreamWriter)
(新文件流(args[1],FileMode.Create),
编码(Unicode)
{
//创建缓冲区
char[]buffer=新字符[BufferSize];
内伦;
//重复复制数据,直到完成
而((len=input.Read(buffer,0,BufferSize))>0)
{
输出写入(缓冲区,0,len);
}
}
}
}
}
我能够在不到一个小时内将Mono的实现移植到.NET。这是需要移植的(最小?)类集(按依赖项排序):
此外,需要复制以下文件(加载到I18N.CJK.CodeTable
的构造函数中):
实现“shift_jis”编码的类是
I18N.CJK.CP932
。请注意,它必须手动实例化,而不是通过Encoding.GetEncoding()
谢谢,但是不行,因为“shift-jis”编码在Silverlight中不可用。显然,Silverlight中只有UTF-8和UTF-16编码可用。