- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要解码:
file://localhost/G:/test/%E6%B0%97%E3%81%BE%E3%81%90%E3%82%8C%E3%83%AD%E3%83%9E%E3%83%B3%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF.mp3
进入
file://localhost/G:/test/気まぐれロマンティック.mp3
如何在 2009 年之前的 Delphi 中执行此操作(我使用 Delphi 2006)?
最佳答案
我没有Delphi 2006,所以我在Delphi 2007上测试了代码;你应该:
将带有“%”字符的字符串转换为纯UTF8字符串;
将UTF8字符串转换为宽字符串(UTF8Decode);
将 Wide String 转换为采用日语编码的 Ansi String (WideCharToMultiByte):
const
SrcStr = 'file://localhost/G:/test/%E6%B0%97%E3%81%BE%E3%81%90%E3%82%8C%E3%83%AD%E3%83%9E%E3%83%B3%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF.mp3';
function Src2Utf8(const S: string): string;
var
I: Integer;
S1: string;
B: Byte;
begin
I:= 0;
Result:= '';
SetLength(S1, 3);
S1[1]:= '$';
while I < Length(S) do begin
Inc(I);
if S[I] <> Char('%') then Result:= Result + S[I]
else begin
Inc(I);
S1[2]:= S[I];
Inc(I);
S1[3]:= S[I];
B:= StrToInt(S1);
Result:= Result + Char(B);
end;
end;
end;
procedure TForm8.Button1Click(Sender: TObject);
var
S: WideString;
S1: string;
begin
S:= Utf8Decode(Src2Utf8(SrcStr));
SetLength(S1, 4 * Length(S)); // more than enough
FillChar(PChar(S1)^, Length(S1), 0);
WideCharToMultiByte(932 {shift-jis codepage}, 0, PWideChar(S), Length(S),
PChar(S1), Length(S1), nil, nil);
S1:= PChar(S1); // to remove ending zeroes
Label1.Caption:= S1;
end;
当我使用不同的字体测试上述代码时,与问题中的日语字符串相比,名称以“@”开头的字体中的日语符号出现逆时针旋转 90 度。带有 SHIFTJIS_CHARSET 的“Arial Unicode MS”字体提供精确(非旋转)外观。
关于delphi - 如何在 2009 年之前的 Delphi 中解码包含日语字符的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836038/
我正在尝试在日本网站上的 flash 动态文本字段上实现抗锯齿。这些文本字段的内容不是固定数据。 我没有嵌入字体的选项,因为嵌入所有字符会导致非常重的 swf 文件(3000kb+ 仅用于字体)。这是
我正在创建一个游戏。我有一些带有文本的用户界面。最近我们想添加日语版本,但我遇到字体问题。我使用 stb_freetype 来光栅化字体,并且我支持 Unicode,所以这应该不是问题。但大多数字体似
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我知道我的问题已经在这里有了解决方案。但我只想具体说明我的情况。我有一个 json 对象,其中包含非英语字符。 例如。 {“my_chinise_name”:“吉米”}。 该对象将通过 javascr
我刚刚安装了 Tesseract OCR 并在运行命令 $ tesseract --list-langs 后输出仅显示 2 种语言,eng和osd 。我的问题是,如何加载另一种语言,在我的例子中是日语
在哪里可以获得与日语汉字、平假名和片假名字符对应的 ASCII 代码列表。我正在做一个java函数和Javascript来确定它是否是日语字符。它的 ASCII 码范围是多少? 最佳答案 ASCII代
在我的 Rails 应用程序中,我有一个像这样的文本字段 @disabled_field %> 我正在使用 jQuery 来验证此文本字段仅接受 half width katakana字符(Unic
我有在表单中添加网站选项的功能。 用户可以在这里写域/url,这个域/url 可以是英语也可以是日语,如下所示。 www.google.com www.南极星.com I am using follo
我遇到了日语问题。我有一个允许用户搜索数据的表格。当用户输入要搜索的字符串并按下“Enter”键时,搜索功能就会执行。我的代码是: $('#formSearch input').keyup(funct
我是 Java 脚本的新手。我写了一个正则表达式,它允许用户名或电子邮件地址作为某些条件的输入,例如应接受 6-50 个字符不允许空格或空白不应允许 2 个 @ 符号并且可以接受超过 1 个 .(点)
您好,我有一个包含日语文本的文件,保存为 unicode 文件。 我需要从文件中读取信息并将信息显示到标准输出。 我正在使用 Visual Studio 2008 int main() {
我正在使用在 http://mobile.tutsplus.com/tutorials/android/android-sdk-using-the-text-to-speech-engine/ 中找到
(我正在开发一个网站来抓取 ASP.NET 中的其他网站内容。我能够正确获取内容,但如何根据该内容识别使用的是哪种语言。例如英语、印地语、中文, 日语等 我使用了以下代码。 HttpWebReques
在 TextBox 中,我无法捕获具有特殊 IME 的语言(例如日语和韩语)的击键,因为 IME 不断地决定不同的字符或音节。实际上,大多数情况下 KeyUp/KeyDown 都不会触发(如果 IME
我有一个包含日语单词的数据库。我很困惑,因为这个查询: SELECT japanese FROM my_table where japanese = 'する' 返回两个结果: ずる する 我试图查看
我想将 CSV 文件解析为 JSON 文件。我已经解析了它,但它没有得到日语字符。 我正在使用 Papa Parser 将 CSV 解析为 JSON。 这是我的代码:- Papa.parse("htt
我有一个 C# winform 应用程序,它安装在日文 windows 7 上。一些标签以非常宽的字体显示,导致它们无法匹配 from 的大小。 经过一些研究,我被告知这可能是半角/全角问题。有没有办
MySql 全文搜索是否适用于非拉丁语言? (希伯来语、阿拉伯语、日语……) 添加:做了一些测试...希伯来语有一些问题。示例:名称 מוסəנזון 的发音与 מושəנזון 相同,但搜索不会找到
我使用下一个代码从句柄为 hFile 的文件中读取所有元素行得通,而且我用 GetFileSize(hFile, NULL) 得到了它的大小. _TCHAR* text = (_TCHAR*)mall
验证按预期进行,但消息仅以英语显示良好。我使用自己的日语消息。 问题是我收到了日语的乱码验证消息。我将validation-api-1.0.0.GA.jar与hibernate-validator-4
我是一名优秀的程序员,十分优秀!