小编Ass*_*ael的帖子

C#:属性与常量的不同字符串编码

我正在为一个旨在删除无效代码点(例如孤立代理对)的函数编写测试。但是,根据我编写测试的方式,我发现代理对的编码方式有所不同。

虽然此版本的测试通过:

        [TestCategory("UnitTest")]
        [TestMethod]
        public void RemoveOrhpanedSurrogatePair()
        {
            var input = "\uDDDD1975";
            var cleanText = input.ReplaceInvalidCodePoints();

            Assert.AreEqual(input.Length - 1, cleanText.Length);
            Assert.AreEqual("1975", cleanText);
        }
Run Code Online (Sandbox Code Playgroud)

这个没有:

        [TestCategory("UnitTest")]
        [TestMethod]
        public void RemoveOrhpanedSurrogatePair()
        {
            var input = "\uDDDD1975";
            var cleanText = input.ReplaceInvalidCodePoints();

            Assert.AreEqual(input.Length - 1, cleanText.Length);
            Assert.AreEqual("1975", cleanText);
        }
Run Code Online (Sandbox Code Playgroud)

查看调试器,第一个变体将字符串编码为,"\uDDDD1975"但第二个变体产生"??1975"两个有效字符,而不是一个孤立的代理对。

c# string unicode encoding

5
推荐指数
1
解决办法
58
查看次数

如何为发布本地指定Scala和SBT版本?

我正在开发一个带有Scala 2.9.2和SBT 0.12.0的SBT编译器插件.

我的项目使用以下内容build.sbt:

name := "myplugin"

version := "0.1-SNAPSHOT"

scalaVersion := "2.9.2"

organization := "com.my.org"

sbtVersion := "0.12.0"

libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.9.2"
Run Code Online (Sandbox Code Playgroud)

在编写插件之后,我将它发布到我的本地Ivy存储库,使用publish-local它发布到~\.ivy2\local\com.my.org\myplugin\0.1-SNAPSHOT.

为了测试插件,我创建了一个简单的"Hello-World"项目并添加了以下 project/build.sbt文件:

addSbtPlugin("com.my.org" %% "myplugin" % "0.1-SNAPSHOT")
Run Code Online (Sandbox Code Playgroud)

尝试加载项目时,sbt我得到Unresolved Dependency该插件的错误.我注意到sbt了插件中的插件~\.ivy2\local\com.my.org\myplugin\scala_2.9.2\sbt_0.12\0.1-SNAPSHOT.

我的问题是如何更正配置以包含Scala和SBT版本?或者,或者,如何解决插件分辨率以查找正确的位置?

sbt

4
推荐指数
1
解决办法
3261
查看次数

标签 统计

c# ×1

encoding ×1

sbt ×1

string ×1

unicode ×1