编程语言: Java任务:设计将中文字符串映射为数字的散列函数问题:汉字的正确读取和显示
这是一个家庭作业问题,但我不是在问如何做,只是在实现汉字阅读方面遇到了困难。
我的任务的简短描述:设计一个哈希函数,将我们班上(中文)学生的名字映射到他们的学生in和其他卫星数据(性别,电话等)。
我还在考虑它,但就像其他语言一样,它的范围涉及到我使用字符的字符编码,通过哈希函数,得出一个唯一的值,如果我没有弄错的话。
以下是我要测试这个思路的有效性:
// test whether console can read chinese characters
Scanner s = new Scanner(S
我有一批大约100,000个文本文件,我希望使用vba作为字符串提取这些文件。在过去,我一直这样做,没有问题:
Sub Main()
Dim PathAndName As String
Dim TextFile As Integer
Dim TextString() As String
Redim TextString(100000)
For i = 1 To 100,000
PathAndName = "C:\File_" & i & ".ext"
TextFile = 1
Open PathAndName For In
另一个与UTF-8相关的问题。在Java中用'UTF-8‘编码的汉字有时在编码时会变成3字节长。我不知道为什么,我以为所有的汉字--它们的代码点都是2字节宽。但当我手动检测时,结果似乎也不是这样。是否有方法检测UTF-8字符的字节宽度(非零字节)?
import java.io.UnsupportedEncodingException;
public class a {
public static void main(String[] args) throws UnsupportedEncodingException {
String s = "我是一1";
作为标题,我想知道是否有一种方便的方法可以从汉字中获取平假名文本,然后自动将其插入到汉字上方(如furigana)。
例如,我的数据库:
1 | 私はA-sanです。
我想在网站上显示如下文本:
我正在编写php代码,下面是我的想法
function modify_text($text) {
foreach ($word in text){
if ($word is kanji){
//find hiragana
//do html to convert text to furigana
我遇到了一个问题,那就是如何反转包含这个‘a汉字efg’的字符串。
str_to_reverse = "abcd汉字efg"; /* those non-ASCII chars are Chinese characters, each of them takes 2 bytes */
恢复后,应该是:
str_toreverse = "gfe字汉dcba";
我想,为了反转字符串,我必须识别那些非ASCII字符,因为我认为简单地反转每个字节并不能得到正确的答案。
我该怎么做呢?
PS:这个程序是我在Ubuntu下写的,32位。然后我打印了每一个字节:
for(i
我有两个类,一个类将一系列字符写入文本文件,另一个类读取它们。写作部分似乎很好。它可以工作,我可以打开文件,读取字符,这一切看起来都很正常。但是当我试图读取该文件时,它以“?”的形式输出到控制台。当我调试时,它显示字符被读取为一个汉字。我将编码语言从默认的(Cp 1252)转换为UTF-8,这允许控制台读取和显示汉字,但它仍然不能告诉我为什么英文字母a被解释为“慢速”的汉字。
下面是我将字符写入文档的代码:
package iO;
import java.io.*;
public class WriteLetters
{
public static void main(Strin