首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日语/字符编程技巧

日语/字符编程技巧
EN

Stack Overflow用户
提问于 2009-05-02 18:00:20
回答 6查看 3.5K关注 0票数 7

我有一个想法,写一些网络应用程序来帮助我,也许其他人,更好地学习日语,因为我正在学习日语。

我的问题是,该网站将主要是英文,所以它需要流利地混合日语字符,通常是平假名和片假名,但后来汉字。我越来越接近于实现这一点;我已经知道页面和源文件需要是unicode和utf-8内容类型。

然而,我的问题来自于实际的编码。我需要的是操作假名形式的文本字符串。一个例子是:

我需要把这个动词转换成te形式的けして。我更喜欢用javascript来做这件事,因为这将有助于以后做更多的操作,但如果必须这样做,我将只做DB调用,并将所有内容都保存在DB中。

我的问题不仅是如何在javascript中做到这一点,而且在其他语言中也有什么技巧和策略来做这类事情。我希望能在语言学习应用中获得更多,但当涉及到这一点时,我就迷失了方向。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-05-03 17:58:46

我的问题不仅是如何在javascript中做到这一点,而且在其他语言中也有什么技巧和策略来做这类事情。

你想要做的是非常基本的字符串操作-除了缺少的单词分隔符,正如Barry所说,尽管这不是一个技术问题。

基本上,对于支持Unicode的现代编程语言(我认为JavaScript从1.3版开始就是这样)来说,日语假名或汉字和拉丁字母之间没有什么真正的区别--它们都只是字符。一个字符串就是一个字符串。

当你必须在字符串和字节之间进行转换时,它变得困难了,因为你需要注意你使用的是什么编码。不幸的是,许多程序员,尤其是以英语为母语的人倾向于掩盖这个问题,因为ASCII是拉丁字母的事实上的标准编码,而其他编码通常试图兼容。如果拉丁字母是你需要的全部,那么你可以幸灾乐祸地对字符编码一无所知,相信字节和字符基本上是一回事--并编写程序,破坏任何非ASCII的东西。

因此,支持Unicode的编程的“秘密”是这样的:学会识别字符串/字符何时何地转换为字节,并确保在所有这些地方使用了正确的编码,即用于反向转换的编码相同,并且可以对您正在使用的所有字符进行编码。UTF-8正在慢慢成为事实上的标准,通常应该在您可以选择的任何地方使用。

典型示例(非详尽):

使用非ASCII字符串文字编写源代码时的编码(在editor/IDE)

  • When中配置编码编译或解释此类源代码(编译器/解释器需要知道编码)读/写文件时的编码(编码必须在应用编程接口中的某处或文件的元数据中指定)向数据库写入字符串时的编码(编码必须在DB或表的配置中指定)通过When服务器传递超文本标记语言页面时的
  • (编码必须在超文本标记语言头部或页面的元头部中指定);表单可能更加棘手)
票数 4
EN

Stack Overflow用户

发布于 2009-05-04 04:55:00

你需要做的就是看看语法规则。对每个共轭都有一组规则。让我们以~て形式为例。Psudocode:

代码语言:javascript
复制
def te_form(verb)
  switch verb.substr(-1, 1) == "る" then return # verb minus ru plus te
  case "る" #return (verb - る) + て
  case "す" #return (verb - す)+して

等等。基本上,把它分成I,II和III类动词。

票数 2
EN

Stack Overflow用户

发布于 2009-05-02 20:00:30

你的问题对我来说完全不清楚。

然而,我有一些使用日语的经验,所以我会给出我的2点意见。

由于日语文本不具有分词功能(例如空格字符),因此我们必须获得的最重要的工具是基于字典的单词识别器。

一旦你拆分了文本,使用“普通”工具操作它就更容易了。

只有两个工具可以完成上述工作,而且作为副产品,它们还可以用作标记器(即名词、动词等)。

编辑:在使用语言时始终使用unicode。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/815292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档