求c#大神帮我改个程序

xiejing1995 2017-11-29 04:06:03
function GetGB2312String($name)
{
$tostr = "";
for($i=0;$i<strlen($name);$i++)
{
$curbin = ord(substr($name,$i,1));
if($curbin < 0x80)
{
$tostr .= substr($name,$i,1);
}elseif($curbin < bindec("11000000")){
$str = substr($name,$i,1);
$tostr .= "&#".ord($str).";";
}elseif($curbin < bindec("11100000")){
$str = substr($name,$i,2);
$tostr .= "&#".GetUnicodeChar($str).";";
$i += 1;
}elseif($curbin < bindec("11110000")){
$str = substr($name,$i,3);
$gstr= iconv("UTF-8","GB2312",$str);
if(!$gstr)
{
$tostr .= "&#".GetUnicodeChar($str).";";
}else{
$tostr .= $gstr;
}

$i += 2;
}elseif($curbin < bindec("11111000")){
$str = substr($name,$i,4);
$tostr .= "&#".GetUnicodeChar($str).";";

$i += 3;
}elseif($curbin < bindec("11111100")){
$str = substr($name,$i,5);
$tostr .= "&#".GetUnicodeChar($str).";";

$i += 4;
}else{
$str = substr($name,$i,6);
$tostr .= "&#".GetUnicodeChar($str).";";

$i += 5;
}
}

return $tostr;
}
这个程序怎么改成c#程序

function GetUnicodeChar($str)
{
$temp = "";
for($i=0;$i<strlen($str);$i++)
{
$x = decbin(ord(substr($str,$i,1)));
if($i == 0)
{
$s = strlen($str)+1;
$temp .= substr($x,$s,8-$s);
}else{
$temp .= substr($x,2,6);
}
}

return bindec($temp);
}
...全文
177 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-11-29
  • 打赏
  • 举报
回复
你那段 php 代码写的糟糕透顶,没有移植的必要
本应写作
function GetGB2312String($name) {
return '&#'. join(';&#', unpack('C*', $name)) . ';';
}
移植过来就是
            var a = Encoding.GetEncoding("gb2312").GetBytes("汉").Aggregate("", (x, y) => x + "&#" + y + ";");
Console.WriteLine(a);
  • 打赏
  • 举报
回复
自己去学一下C#中如何声明方法以及if else 的语法可能解决问题会快点。
xiejing1995 2017-11-29
  • 打赏
  • 举报
回复
中间那段文字 应该在最顶端。
测验应用程序C# 源代码) 项目简介 测验应用程序项目是一个使用C#语言开发的桌面应用程序。该项目基于在不同主题上进行测验的概念。谈到系统时,它包含了不同主题的不同问题,用户需要回答这些问题以获得分数。每个问题都是选择题,这意味着每个问题都有4个选项,用户需要选择其中一个。在回答完一个问题后,系统不会立即显示正确答案,每个问题的分值为2分。只有在最后,用户才能知道自己的总分。问题是随机提供的,这意味着任何问题都可以在任何时间间隔出现。 关于系统 该项目不使用任何外部文件作为数据库。要更改问题,用户必须通过代码进行更改。测验应用程序项目有助于在短时间内进行各种主题的小型测验。这个桌面应用程序项目特别适用于小型测试,以检查知识水平。要运行此项目,您必须在PC上安装Visual Studio IDE。C#中的测验应用程序可以免费下载源代码。有关项目演示,请查看下方的图片滑块。 功能特点: 不同主题的选择题测验 每个问题有4个选项 每个问题的分值为2分 最后显示总分 问题随机出现 不使用外部数据库文件 需要通过代码更改问题 运行项目步骤: 1.在系统中安装Visual Studio。 2.从项目文件夹中打开解决方案文件。 3.构建项目以检查错误。 4.运行程序。 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧